我如何比较shell中的2个字符串?

Tho*_*mas 3 shell if-statement sh

我希望用户在命令行输入-l或-e.所以例如$./ report.sh -e我想要一个if语句来分割他们做出的任何决定,所以我试过......

if [$1=="-e"]; echo "-e"; else; echo "-l"; fi
Run Code Online (Sandbox Code Playgroud)

显然不起作用,谢谢

Dav*_*ver 9

我用:

if [[ "$1" == "-e" ]]; then
    echo "-e"
else
    echo "-l";
fi
Run Code Online (Sandbox Code Playgroud)

但是,对于解析参数,getopts可能会让您的生活更轻松:

while getopts "el" OPTION
do
     case $OPTION in
         e)
             echo "-e"
             ;;
         l)
             echo "-l"
             ;;
     esac
done
Run Code Online (Sandbox Code Playgroud)