Bash 스크립트에서 ssh를 실행할 때 두 가지 오류가 발생함

Bash 스크립트에서 ssh를 실행할 때 두 가지 오류가 발생함

로그인 확인을 수행하기 위해 원격 컴퓨터에서 이 스크립트를 실행하려고 하는데 오류 없이 실행하는 데 몇 가지 문제가 있습니다. 스크립트를 실행할 때 다음 오류가 발생합니다. 오류:

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
"'

관련 정보