我想在不输入密码的情况下使用 bash 脚本列出远程机器上的文件。
我正在使用以下命令来做到这一点
sshpass -p password ssh user@ubuntusite.net "ls /usr/local/"
我想从上述命令中获取退出代码,以了解我的命令 (ls /usr/local) 失败或通过。
怎么做?请帮助我
例如:
[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] #
如果我明白你的意思,你不需要ls
输出,只需要退出代码,对吧?
所以,试试这个:
sshpass -p password ssh user@ubuntusite.net "ls /usr/local/ &>/dev/null && echo $? || echo 1"
0
如果命令通过,它将返回并打印,1
在另一种情况下打印。