リモート サーバー上のファイルの存在を 1 時間ごとにチェックする単純な BASH スクリプトを作成しました。KSH を実行するサーバーに移動するように依頼されるまで、エラーは発生しませんでした。
エラーが発生するコードの部分は次のとおりです。
connect_string=$UID@$SERVER:$srcdir/$EVENTFILE
result=`sftp -b "$connect_string" 2>&1`
if [ echo "$result" | grep "not found" ]; then
echo "not found"
else
echo "found"
fi
これらは、スローされるエラーです。
-ksh: .[51]: [: ']' missing
grep: ]: No such file or directory
found
それでも実行され、ポーリングしているファイルがそこにあることを確認しますが、これを修正する必要があります。私はif文をそのように変更しました
if [[ echo "$result" | grep "not found" ]]; then
しかし、このエラーですぐに失敗します
-ksh: .: syntax error: `"$result"' unexpected
私は何が欠けていますか?