在tcsh中定义shell环境变量

时间:2019-09-06 09:54:04

标签: linux unix tcsh setenv

无法使用tcsh脚本创建环境变量。

尝试了set,但仅在脚本内起作用。 setenv在脚本之外不起作用。 export在我尝试运行的终端中显示“找不到命令”。

#!/usr/intel/bin/tcsh
#set WV "/p/hdk/cad/custom_waveview/O-2018.09-SP2/bin/wv"
setenv WV "/p/hdk/cad/custom_waveview/O-2018.09-SP2/bin/wv"
echo $WV
env $WV "/p/hdk/cad/custom_waveview/O-2018.09-SP2/bin/wv"

当我回显环境变量时,我希望输出为 /p/hdk/cad/custom_waveview/O-2018.09-SP2/bin/wv 在终端上> WV ,但是我收到未定义变量的错误。

enter image description here

1 个答案:

答案 0 :(得分:0)

环境变量在当前进程中设置,并由子进程继承。您不能在父进程中设置环境变量。

您必须使用%localappdata%/Microsoft/Team Foundation/7.0/cache命令来执行脚本。这样一来,当前的Shell进程将自行执行脚本,而不是在子进程中运行脚本。

source

source env_vars.tcsh 用于设置外壳变量,而不是环境变量。 setexport命令(以及其他基于Bourne Shell语法的shell),而不是bash命令。

tcsh要求程序名称前的参数为env形式的变量设置,例如

name=value

它在运行程序时将这些变量添加到环境中。