Ich benutze OpenSSH und habe das folgende Bash-Skript mit dem Namen foo unter Debian 8 (Jessie) Linux:
#!/bin/bash
ssh root@10.0.0.60 "$1"
if [[ $? ]]; then
echo "Pass"
else
echo "Fail"
fi
Ich führe dieses Skript wie folgt aus:
root@my_host:~/bin# foo 'echo "Hello world!"'
Hello world!
Pass
root@my_host:~/bin# foo true
Pass
root@my_host:~/bin# foo false
Pass
root@my_host:~/bin# foo not_a_command
bash: not_a_command: command not found
Pass
Ich kann den Exit-Code des remote ausgeführten Befehls eindeutig nicht erfolgreich erfassen. Wie kann ich das machen?
exit
, die für Ihre Situation funktionieren könnte.
if [[ $? -eq 0 ]]; then
.
ssh
Befehl selbst.