Bashスクリプトでsshを実行すると2つのエラーが発生する

Bashスクリプトでsshを実行すると2つのエラーが発生する

ログインチェックを実行するためにリモートコンピュータでこのスクリプトを実行しようとしていますが、エラーなしで実行する際にいくつかの問題があります。スクリプトを実行すると、次のエラーが発生します。エラー:

bash: -c: option requires an argument
bash: line 2: [: missing `]'

シェルスクリプト:

#!/bin/bash
ssh [email protected] bash -c '
radtest user password 127.0.0.1 100 testing | grep 'Access-Accept' &> /dev/null
if [ $? == 0]; then
        echo "match"
fi
'

エラーの原因は何か知っていますか?注:ここではSSHにパスワードは必要ありません。

ベストアンサー1

私はこれを考えています:

if [ $? == 0];

しなければならない:

if [ $? == 0 ];

しかし、Muruが言ったように、次のようになります。

#!/bin/bash
ssh [email protected] bash -c '"
if radtest user password 127.0.0.1 100 testing | grep -q "Access-Accept"; then
echo "Match"
fi
"'

おすすめ記事