我正在尝试编写一个小脚本来为我切换分支。我很久以前就用bash写过了。在以下代码中,if
和elif
被跳过,无论我输入$1
,它总是跳到else
。我看过各种各样的例子,但没有任何工作,尽管它应该是。
#!/bin/bash
if [ "$1 " == "-p" ]
then
cd ui;
git checkout p_4.1;
cd ../services;
git checkout p_4.1;
cd ../application;
git checkout p_4.1;
cd ..;
elif [ "$1 " == "-b" ]
then
cd ui;
git checkout b_.1;
cd ../services;
git checkout b_.1;
cd ../application;
git checkout b_.1;
cd ..;
elif [ "$1 " == "-g" ]
then
cd ui;
git checkout g_.1;
cd ../services;
git checkout g_.1;
cd ../application;
git checkout g_.1;
cd ..;
elif [ "$1 " == "-j" ]
then
cd ui;
git checkout j_.1;
cd ../services;
git checkout j_.1;
cd ../application;
git checkout j_.1;
cd ..;
else
echo "No Command Known!"
fi
我完全不知道它为什么不起作用。
答案 0 :(得分:4)
双引号内的空格很重要,所有"$1 "
都应该是"$1"
(没有尾随空格)。
答案 1 :(得分:1)
每个$ 1后你似乎有一个空格。我相信这是你的问题。