Module: Kernel

Defined in:
lib/rubyhacks.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.change_environment_with_shell_script(string) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/rubyhacks.rb', line 53

def self.change_environment_with_shell_script(string)
# 		system "echo $PATH
	env = `#{string}\necho "XXXXXXZZZZZZXXXXXXX029340923"\n env`.split("XXXXXXZZZZZZXXXXXXX029340923")[-1]
	new_env = {}
	env.scan(/^(?<var>[a-zA-Z_][a-zA-Z_0-9]*)=(?<val>.*)/) do
# 			p $~
		new_env[$~[:var]] = $~[:val]
	end
# 		p new_env.keys.size - ENV.keys.size
# 		(ENV.keys + new_env.keys).uniq.each do |key|
# 			p "----|#{key}", new_env[key], ENV[key] unless new_env[key] == ENV[key]
# 		end
	(new_env.keys - ["OLDPWD", "_", "mc", "SHLVL"]).each do |key|
		ENV[key] = new_env[key]
	end
# 		ep ENV['PATH']
	
# 		p env
# 		p ENV
# 		system "module list"
# 		exit
end

Instance Method Details

#ep(*args) ⇒ Object



46
47
48
49
# File 'lib/rubyhacks.rb', line 46

def ep(*args)
	#raise "here!"
	$stderr.puts(*(args.map{|a| a.inspect}))
end

#eprint(*args) ⇒ Object



50
51
52
# File 'lib/rubyhacks.rb', line 50

def eprint(*args)
	$stderr.print(*args)
end

#eputs(*args) ⇒ Object



42
43
44
45
# File 'lib/rubyhacks.rb', line 42

def eputs(*args)
	#raise "here!"
	$stderr.puts(*args)
end

#forkex(string) ⇒ Object



76
77
78
# File 'lib/rubyhacks.rb', line 76

def forkex(string)
	fork{exec string}
end