Shell 如何在tcl中生成bash脚本(expect)
我想在bash环境中设置一个http代理Shell 如何在tcl中生成bash脚本(expect),shell,proxy,tcl,expect,Shell,Proxy,Tcl,Expect,我想在bash环境中设置一个http代理(导出http\u proxy=xyz)。因此,我将该命令添加到.bash\u概要文件的末尾,并调用 exec /bin/sh -c "source /path/to/.bash_profile" 但它的工作方式与预期不同:$::env(http\u代理)不存在(但没有输入错误)。 我还尝试这样运行脚本:exec/bin/sh-c[exec cat/path/to/.bash\u profile]。。但结果是一样的。说 exec /bin/sh -c "
(导出http\u proxy=xyz)
。因此,我将该命令添加到.bash\u概要文件的末尾,并调用
exec /bin/sh -c "source /path/to/.bash_profile"
但它的工作方式与预期不同:$::env(http\u代理)
不存在(但没有输入错误)。
我还尝试这样运行脚本:exec/bin/sh-c[exec cat/path/to/.bash\u profile]
。。但结果是一样的。说
exec /bin/sh -c "source /path/to/.bash_profile"
将source
子shell中的/path/to/.bash\u配置文件
。因此,当命令执行完毕时,对环境所做的任何更改实际上都会被忽略
要将环境变量传递给程序,请尝试:
exec /usr/bin/env http_proxy=xyz program
或者:set env(http_proxy)xyz;执行程序
或在修改~/.bash\u配置文件
后启动新的bash登录shell。它会为你找到它的来源。然后从这个外壳开始。