tcsh:setenv 并从脚本更新环境变量

tcsh:setenv 并从脚本更新环境变量

我有一个脚本应该检查环境变量是否存在,如果存在,则使用从命令行读取的参数更新它。由于一些限制,我应该使用 tcsh,当前运行的 shell 是:

> echo $shell 
> /bin/tcsh

脚本是:

#!/bin/tcsh
if test "x$RUNVERSION" == "x"; then
  echo "RUNVERSION is not set!"
  setenv RUNVERSION 1
else
  echo "RUNVERSION is already set!"
  echo "Current RUNVERSION is:" "$RUNVERSION"
  echo "Enter the new RUNVERSION:"
  read arg 
  setenv RUNVERSION $arg
  echo "RUNVERSION:  " "$arg"
fi

setenv RUNVERSION 1我使用 和 using 测试了一个简单的脚本source ../charSCRIPT/run_char.sh,它适用于在没有 if-else 语句且没有动态读取输入时设置环境变量。

但是拥有上面的完整脚本源确实给了我if: Expression Syntax. 并且sh ../charSCRIPT/run_char.sh不会更新环境变量。

相关内容