所以我在正在访问远程主机并执行另一个脚本的本地主机上执行此代码:
count=$(ssh -i /home/ubuntu/***** "sh /home/ubuntu/michael/LogScript/backUpLog.sh "$1" "$2" "$3"")
echo "$count"
exit "$count"
这是它远程连接并运行的代码:
count=$(grep "^$(date -d -"$1"minute +'%Y-%m-%d %H')" /var/log/*****/*****.log | wc -l)
if [ "$count" -ge "$2" -a "$count" -lt "$3" ]
then
exit 1
fi
if [ "$count" -ge "$3" ]
then
exit 2
fi
exit 0
ssh工作正常,因为我使用非常简单的脚本进行测试,但是当我运行上述内容时,我得到exit: 3: Illegal number:
它没有比这更多的内容。是因为我在本地脚本中调用count的方式吗?
答案 0 :(得分:1)
您的远程脚本返回退出代码但没有输出。您的本地脚本会忽略退出代码并尝试捕获输出。
您可以更改本地脚本以改为使用退出代码:
ssh -i /home/ubuntu/***** "sh /home/ubuntu/michael/LogScript/backUpLog.sh $1 $2 $3"
exitCode=$?
echo "Command exited with $exitCode"
exit "$exitCode"