我在 sh shell 中创建了一个脚本。
#script.sh
echo $1
if [ x$1 = 'x' ]
then
echo CODE1
else
echo CODE2
fi
1)如果我正在使用它运行它. ./script.sh
OUTPUT: CODE1
2)如果我像这样运行它. ./script.sh arg1
OUTPUT: arg1
CODE2
3)如果我在使用后再次运行它,. ./script.sh
那么它会给我
OUTPUT: arg1
CODE2
我认为 3rd 与 2nd 具有相同的输出,因为我在与 2nd 相同的 shell 中运行 3rd,因此 $1 没有被释放,并且 3rd 实际上使用 2nd 设置的 $1 的值。
但是如果我使用 unset 1 释放它,那么 shell 会给出错误作为未知标识符。
如何解除分配此环境变量 $1 ?或如何将其设置为空。