module Kernel
Public Class Methods
change_environment_with_shell_script(string)
click to toggle source
# 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
Public Instance Methods
ep(*args)
click to toggle source
# File lib/rubyhacks.rb, line 46 def ep(*args) #raise "here!" $stderr.puts(*(args.map{|a| a.inspect})) end
eprint(*args)
click to toggle source
# File lib/rubyhacks.rb, line 50 def eprint(*args) $stderr.print(*args) end
eputs(*args)
click to toggle source
# File lib/rubyhacks.rb, line 42 def eputs(*args) #raise "here!" $stderr.puts(*args) end
forkex(string)
click to toggle source
# File lib/rubyhacks.rb, line 76 def forkex(string) fork{exec string} end