无法使用 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"
当我在终端上回显环境变量 WV 时,我希望输出为 /p/hdk/cad/custom_waveview/O-2018.09-SP2/bin/wv,但我收到了 undefined variable 的错误。
最佳答案
环境变量在当前进程中设置并由子进程继承。您无法在父进程中设置环境变量。
您必须使用source
命令来执行脚本。这使得当前 shell 进程本身执行脚本,而不是在子进程中运行它。
source env_vars.tcsh
set
用于设置 shell 变量,而不是环境变量。 export
是一个 bash
命令(以及基于 Bourne Shell 语法的其他 shell),而不是 tcsh
命令。
env
要求程序名称之前的参数是 name=value
形式的变量设置,例如
env VAR1=val1 VAR2=val2 /p/hdk/cad/custom_waveview/O-2018.09-SP2/bin/wv
它运行程序并将这些变量添加到环境中。
关于linux - 在 tcsh 中定义 shell 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57819718/