在 tcsh 中定义 shell 环境变量

Defining shell environment variables in tcsh

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

已尝试 set,但只能在脚本中使用。 setenv 在脚本之外不起作用。 export 在终端中说 "command not found" 我正在尝试 运行.

#!/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,但我收到未定义变量的错误。

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

您必须使用source 命令来执行脚本。这使得当前 shell 进程本身执行脚本,而不是 运行 在子进程中执行脚本。

source env_vars.tcsh

set 用于设置 shell 变量,而不是环境变量。 exportbash 命令(以及其他基于 Bourne Shell 语法的 shell),而不是 tcsh 命令。

env要求程序名前的参数为name=value形式的变量设置,如

env VAR1=val1 VAR2=val2 /p/hdk/cad/custom_waveview/O-2018.09-SP2/bin/wv

它使用添加到环境中的那些变量运行程序。