【问题标题】:How to set an environment variable for just one command in csh/tcsh如何为 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

,但这将丢失该变量之前的任何值。

【问题讨论】:

    标签: csh tcsh


    【解决方案1】:

    在 csh 中,你可以尝试env:

    % env LD_LIBRARY_PATH=/foo/bar myprogram
    

    或者,一个子shell:

    % (setenv LD_LIBRARY_PATH /foo/bar; myprogram)
    

    【讨论】:

    • 我被第二个版本中缺少等号绊倒了。显示我需要仔细阅读;)
    • 第一个是使用不是 tcsh 的外部程序 (env),因此您将失去上下文,例如别名。因此,我建议宁愿使用第二个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 2020-02-14
    相关资源
    最近更新 更多