即时尝试检查我的脚本是否正确运行,以回显消息,但是当我使用此if语句时,它会在行上产生错误' 9' (if [ $? -eq 0 ]
)说一个'不见了。
#!/bin/bash
name=$1
if ["$name" = ""]
then
echo -n "Enter a name to search for: "
read name
fi
if [ $? -eq 0 ]
then
echo "Incorrect Input"
fi
答案 0 :(得分:1)
if ["$name" = ""]
是错误的,因为您必须在[
和表达式之间(以及]
之前)之间留有空格。
的语法没有明显的错误
if [ $? -eq 0 ]
但是用算术检查退出代码总是可疑的,因为这是if
直接做的事情。如果您的脚本与上面显示的一样,则第二个if
语句应始终为true。前一个if
语句的表达式为false的事实并不重要,因为if
语句yields zero如果没有条件测试为真。例如:
$ if false; then echo hi; fi; echo $?
0