“未设置http_proxy”或“未设置HTTP_PROXY”在Rakefile中不起作用,并且以下两个场景成功执行了其他bash命令
*文件格式:Rakefile
场景1:
desc "Remove HTTP Proxy"
task :remove_http do
puts "removing HTTP Proxy..."
sh "unset HTTP_PROXY"
puts"Removed HTTP & HTTPS Porxy"
puts "Showing Environment Variables"
sh "env"
end
方案2:
desc "Remove HTTP Proxy"
task :remove_http do
puts "removing HTTP Proxy..."
`unset HTTP_PROXY`
puts"Removed HTTP Porxy"
puts "Showing Environment Variables"
sh "env"
end
任何想法如何解决,或者用于设置HTTP_PROXY的bash命令将在ruby Rakefile中成功完成?
答案 0 :(得分:0)
要详细说明乔提到的内容,
使用sh执行某些操作时,启动的shell /会话与运行的ruby程序不同。
在这种情况下,您在一个会话中unset HTTP_PROXY
。
然后在另一个会话中显示环境。
还有第三次会话正在运行您的ruby程序。
如果您要取消设置HTTP_PROXY, 尝试这样做
p ENV['HTTP_PROXY'] # See if it's there
ENV.delete('HTTP_PROXY')
p ENV['HTTP_PROXY'] # See if it's gone