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