2017-06-17 2 views
0

これは、私が実行しているシェルコードです:シェルスクリプトで予期しないオペレータエラーに

#!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 

私は間違っているものを教えてくださいここに。

+0

私が考えることができるのは、あなたのファイルにいくつかの目に見えない文字があるかもしれないということです。あなたは 'vi'でそれをタイプしましたか? – Jack

+1

スクリプトをどのように実行しますか? – choroba

+0

'echo" $ req "の内容を表示します。ヘキサダンプ-C'。ファイルに 'cat -A file'や' cat -v file'という特殊文字がないかチェックしてください。 – Cyrus

答えて

2

if [ "$req" = 1 ]

またはより良い

if [ "$req" -eq 1 ]

man testにおける構文や演算子を参照してください。

+0

@ phd.. '=='の代わりに '-eq'を追加しました..ありがとうございました:D –

関連する問題