在 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 ];

但正如穆鲁所说,它可以是:

#!/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
"'

相关内容