shell 脚本中出现意外的操作员错误

Deb*_*rua 17 bash shell

这是我正在运行的 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
Run Code Online (Sandbox Code Playgroud)

这是我执行时遇到的错误:

  % 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
Run Code Online (Sandbox Code Playgroud)

请让我知道这里出了什么问题。

phd*_*phd 20

if [ "$req" = 1 ]

甚至更好

if [ "$req" -eq 1 ]

请参阅man test中的语法和运算符。

  • @phd..添加`-eq`而不是`==`有效..谢谢..:D (2认同)

Ali*_*Ali 18

比较整数

if [ "$req" -eq 1 ]
Run Code Online (Sandbox Code Playgroud)

要比较STRING

if [ "$req" = "string" ]
Run Code Online (Sandbox Code Playgroud)