如何使用sshpass命令从远程计算机获取退出代码

时间:2018-01-29 13:18:07

标签: bash ssh sshpass

我想使用bash脚本列出远程计算机上的文件而不输入密码。

我正在使用以下命令来执行此操作

sshpass -p password ssh user@ubuntusite.net  "ls /usr/local/"

我想从上面的命令中获取退出代码,以了解我的命令(ls / usr / local)失败或传递。

怎么做?请帮助我

2 个答案:

答案 0 :(得分:2)

例如:

[STEP 101] # sshpass ssh 127.0.0.1 true
[STEP 102] # echo $?
0
[STEP 103] # sshpass ssh 127.0.0.1 false
[STEP 104] # echo $?
1
[STEP 105] # sshpass ssh 127.0.0.1 exit 11
[STEP 106] # echo $?
11
[STEP 107] #

答案 1 :(得分:0)

如果我清楚地理解你,你不需要ls输出,只需退出代码,对吗?

所以,试试这个:

sshpass -p password ssh user@ubuntusite.net  "ls /usr/local/ &>/dev/null && echo $? || echo 1"

如果命令通过,它将返回并打印0,在另一种情况下打印1