相关疑难解决方法(0)

即使 $1 不是 1,为什么总是选择 'if [ $1="1" ]' 分支?

我有一个名为“teleport.sh”的 shell 脚本,如下所示:

if [ $1="1" ];
    then
    shift
        mv "$@" ~/lab/Sun
elif [ $1="2" ];
    then
    shift
        mv "$@" ~/lab/Moon
elif [ $1="3" ];
    then
    shift
        mv "$@" ~/lab/Earth
fi
Run Code Online (Sandbox Code Playgroud)

当我执行:

sh teleport.sh 2 testfile
Run Code Online (Sandbox Code Playgroud)

testfile被移动到~/lab/Sun目录中,这让我很困惑,因为我没有将 1 或 '1' 传递给该脚本。

这里有什么问题?

shell bash test

10
推荐指数
3
解决办法
3万
查看次数

标签 统计

bash ×1

shell ×1

test ×1