我是bashshell用户。我想暂时清除bashshell环境变量。但我不想删除或取消设置输出环境变量。如何在bash或kshshell的临时环境中运行程序?您可以在Linux或类Unix系统上使用env命令来设置和打印环境。env命令可以根据命令行指定的变量修改环境,然后执行程序。如何显示当前环境?打开终端应用程序并输入以下命令之一:printenv或env示例输出:图01:Unix/Linux:列出所有环境变量计算环境变量的数量输入以下命令:env|wc-l打印环境|wc-l#或示例输出:20在干净的bash/ksh/zsh环境中运行程序语法如下:env-iyour-program-name-herearg1arg2...例如,使用http_proxy和/或任何运行没有其他环境变量的wget程序。暂时清除所有bash/ksh/zsh环境变量并运行wget程序:env-i/usr/local/bin/wgetwww.cyberciti.bizenv-iwgetwww.cyberciti.biz#或者如果你想忽略任何已经设置的环境变量在运行命令时很有用。我每天多次使用这个命令来忽略http_proxy和我设置的其他环境变量。示例:使用http_proxy$wgetwww.cyberciti.biz--2015-08-0323:20:23--http://www.cyberciti.biz/Connectingto10.12.249.194:3128...connected.Proxy请求已发送,等待响应...200OKLength:未指定[text/html]正在保存到:'index.html'index.html[<=>]36.17K87.0KB/sin0.4s2015-08-0323:20:24(87.0KB/s)-'index.html'已保存[37041]示例:忽略http_proxy$env-i/usr/local/bin/wgetwww.cyberciti.biz--2015-08-0323:25:17--http://www.cyberciti.biz/Resolvingwww.cyberciti.biz...74.86.144.194Connectingtowww.cyberciti.biz|74.86.144.194|:80...connected.HTTP请求已发送,正在等待响应...200OKLength:未指定[text/html]保存到:'index.html.1'index.html.1[<=>]36.17K115KB/sin0.3s2015-08-0323:25:18(115KB/s)-'index.html.1'已保存[37041]-i选项导致env命令完全忽略其继承的环境。但是,它不会阻止您的命令(例如wget或curl)设置新变量。另外,请注意运行bash/kshshell的副作用:env-ienv|wc-l##empty###现在运行bash##env-ibash##bash设置新的环境变量##env|wc-l示例:设置环境变量语法如下:envvar=value/path/to/commandarg1arg2...##or##var=value/path/to/commandarg1arg2...For例如,设置http_proxy:envhttp_proxy="http://USER:PASSWORD@server1.cyberciti.biz:3128/"/usr/local/bin/wgetwww.cyberciti.biz
