4

我想在不输入密码的情况下使用 bash 脚本列出远程机器上的文件。

我正在使用以下命令来做到这一点

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

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

怎么做?请帮助我

4

2 回答 2

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] #
于 2018-01-29T13:55:14.493 回答
0

如果我明白你的意思,你不需要ls输出,只需要退出代码,对吧?

所以,试试这个:

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

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

于 2018-01-29T13:29:10.637 回答