如何为 csh/tcsh 中的一个命令设置环境变量
Posted
技术标签:
【中文标题】如何为 csh/tcsh 中的一个命令设置环境变量【英文标题】:How to set an environment variable for just one command in csh/tcsh 【发布时间】:2011-08-22 05:59:21 【问题描述】:在 bash 中,我可以为一个命令设置一个临时环境变量,如下所示:
LD_LIBRARY_PATH=/foo/bar myprogram
我可以在 csh / tcsh 中做类似的事情吗?我可以的
setenv LD_LIBRARY_PATH /foo/bar; myprogram; unsetenv LD_LIBRARY_PATH
,但这将丢失该变量之前的任何值。
【问题讨论】:
【参考方案1】:在 csh 中,你可以尝试env
:
% env LD_LIBRARY_PATH=/foo/bar myprogram
或者,一个子shell:
% (setenv LD_LIBRARY_PATH /foo/bar; myprogram)
【讨论】:
我被第二个版本中缺少等号绊倒了。显示我需要仔细阅读;) 第一个是使用不是 tcsh 的外部程序 (env),因此您将失去上下文,例如别名。因此,我建议宁愿使用第二个。以上是关于如何为 csh/tcsh 中的一个命令设置环境变量的主要内容,如果未能解决你的问题,请参考以下文章