2015-10-15 110 views
0

我有说,像案例输出(BASH)需要帮助

case "$1" in 
    -b*) myfunction exit 0;; 
    -B*) echo "Invalid!" >&2 exit 1;; 
esac 

基本上是使用“b”当用户输入参数有什么简单的情况下,它会做一些东西从MyFunction的。否则,如果用户使用“B”输入,它将打印错误并退出程序。

然而,真正发生的事情是,当用户输入 “”,它打印

Invalid! exit 1     

,而不是

Invalid! 

而且,它给人的“出口值“而不是”“。有谁知道我做错了哪一部分?

回答

2

替换脚本

echo "Invalid!" >&2 exit 1 

通过

echo "Invalid!" >&2; exit 1 
+0

我有一个关于退出的问题。因此,当它读取“退出1”时,它是否超出了情况循环或完全转到脚本行的最底部? – John

+0

'退出1'立即退出脚本并返回代码1。 – Cyrus