我尝试使用以下代码:
read choice
case $choice in
"1") less /var/log/messages
if [$? -ne 0]; then
less /var/log/syslog
fi
;;
etc
etc
etc
*) echo "Please enter a choice between 1 and 20";;
esac
执行./myScript.sh时我得到了这个:
./myScript.sh: line 4: [1: command not found
我找不到问题!
答案 0 :(得分:7)
在if
语句中,在[
之后和]
之前添加空格,为
if [ $? -ne 0 ]; then
答案 1 :(得分:1)
问题是(4,8)和(4,16)。在(4,7)和(4,8)之间放置一个空格,在(4,15)和(4,16)之间放置另一个空格。这些有序对就像(行,列)。
在第4行上这样做:
if [ $? -ne 0 ]; then