我有一个脚本应该检查环境变量是否存在,如果存在,则使用从命令行读取的参数更新它。由于一些限制,我应该使用 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
不会更新环境变量。