我的shell脚本if条件有什么问题?

时间:2012-12-14 06:12:01

标签: bash shell

我有一个启动程序的辅助列表,我希望在我工作的情况下启动它。所以我已经将这个shell脚本添加到我在Ubuntu上运行的系统的启动。

echo "Do you want to start the start up applications[Y/n]?"

while read inputline
do
    what="$inputline"
    break
done

if [ "$what" == "Y" -o "$what" == "y" ]
then
. ~/bin/webstorm.sh &
workrave &
firefox &
. ~/bin/AptanaStudio3
fi

我一直收到类似[: Y: unexpected operator之类的错误,并且从不启动程序。

免责声明:我不知道如何编写shell脚本。

2 个答案:

答案 0 :(得分:0)

尝试更改:

if [ "$what" == "Y" -o "$what" == "y" ]

if [[ "$what" == "Y" ]] || [[ "$what" == "y" ]]

答案 1 :(得分:0)

你的什么线? #!/bin/bash#!/bin/sh

如果您打算使用bash作为脚本解释器,请不要忘记shebang line。

(您的代码至少在我的系统上使用bash ..)