[英]linux shell script variable “not found”
只是在提示符处未输入任何输入时尝试退出循环,但我在测试 if 语句中的值时遇到问题?
代码:
SQL="?";
while true
do
if [ "$SQL" == "" ]
then
break
else
read -p "SQL: " SQL
clear
php -f sql.php "$SQL"
fi
done
OUTPUT:
sql.sh: 5: [: ?: unexpected operator
SQL:
尽管它看起来像是脚本语言的一部分,但[
实际上是命令的名称,也称为test
。 if
语句运行该命令,并根据其结果执行操作。 (顺便说一句,你的 while 循环中的true
也是如此 - 这是一个“什么都不做,成功”的命令。)
因此,您需要在命令及其参数之间以及if
和命令之间留一个空格。 您还需要使用正确的 arguments; 比较两个字符串的标准拼写是=
而不是==
if [ "$SQL" = "" ]
这相当于:
if test "$SQL" = ""
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.