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