2010-11-07 168 views
1

我想不通,问题出在哪里bash脚本参数问题

if [ $# -eq 1 ]; then 
    if [ "$1"=="-h" ]; then 
      help 
    else 
      echo "bad parameter, if you put only one parameter, you can choose only -h" 
    fi 

不管我把它作为第一个参数,脚本不会继续执行else部分,它会显示帮助

每次

回答

4

正确的语法:

if [ "$1" = "-h" ] 
+1

参见[bash的陷阱(http://mywiki.wooledge.org/BashPitfalls)更多的帮助(关于'test'或'['命令很多陷阱)。 – Benoit 2010-11-07 20:46:37

+0

狗屎。我尝试了一切,但那。谢谢 – sevdah 2010-11-07 20:47:53

+0

@sevdah:您应该点击此答案的复选标记以表明它解决了您的问题。 – Cascabel 2010-11-07 20:54:55