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