bash-script ausführen von Befehlen, die nach ssh
Ich versuche zu ausführen ein paar Befehle über mein erstes Skript, aber es funktioniert nicht.
#!/bin/bash
#connect to server
echo "Connecting to the server..."
ssh -t root@IP '
#switch user to deploy
su - deploy
#switch path
echo "Switching the path"
cd /var/www/deploys/bin/app/config
#run deploy script
echo "Running deploy script"
/usr/local/bin/cap -S env=prod deploy
#restart apache
sudo /bin/systemctl restart httpd.service
bash -l
'
Was ist passiert? Ich bin erfolgreich mit dem server verbunden, wird der Benutzer geändert und dann weiß ich nicht sehen, nichts passiert. Wenn ich Strg + c drücken, genau wie im terminal eine Ausgabe von dem Befehl, der ausgeführt werden soll, angezeigt wird aber es gibt einige Fehler.
Warum ich nicht alles sehen, was geschieht im terminal nach, das script zu starten? Mache ich es der falsche Weg ist?
BTW: wenn ich versuche manuell eine Verbindung herstellen, und führen Sie die Befehle mich, alles wunderbar funktioniert.
Mit CentOS 7.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Saubere Art und Weise zu login über ssh und excecute eine Reihe von Befehlen ist
hier
EOF
fungiert als delimitter für die command-Listekann das Skript modifiziert werden, wie
wird excecutes den Befehl und beendet die Verbindung gibt es nach
-t -t
pro diese Anleitung, aber sonst, das ist tollbash -l
? nicht ganz understant seine Verwendung.