这是我正在运行的shell代码:
#!bin/bash
while true
do
req=$(curl http://localhost/devcalls/camerarequest.php)
if [ "$req" == "1" ]
then
sudo bash /home/ckoy-admin/HAS_system/camera/cam.sh
fi
done
这是我执行时得到的错误:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1 100 1 0 0 56 0 --:--:-- --:--:-- --:--:-- 58
CAM.sh: 7: [: 1: unexpected operator
请告诉我这里出了什么问题。
4条答案
按热度按时间0yg35tkg1#
if [ "$req" = 1 ]
甚至更好
if [ "$req" -eq 1 ]
请参见man test中的语法和运算符。
piztneat2#
比较整数
比较STRING
cczfrluj3#
if [ "expr n%2 -eq 0" ]
if [ "expr n%2=0" ]
或
if [ 'expr n%2=0' ]
if [ 'expr n%2 -eq 0' ]
你可以使用上面提到的任何4种方法我已经尝试了所有其他的答案,但包括里面的每一件事“”给了我输出
zpgglvta4#
使用
bash run.sh
而不是sh run.sh
对我很有效。