Wie kann ich einen Linux-Server mit Applescript über iTerm oder Terminal verbinden?

Ich möchte ein Bash-Skript auf einem Linux-Server automatisch verbinden und ausführen, indem ich Applescript und iTerm oder Terminal unter OS X verwende.

Wie kann ich einen Linux-Server mit Applescript verbinden, indem ich iTerm oder Terminal verwende?

Im Grunde genauso, wie Sie es direkt von einer Shell aus tun. Wie greifen Sie von der Shell aus auf Ihre Linux-Box zu, verwenden Sie ssh?

Antworten (2)

Applescript

Sie können Shell-Befehle direkt aus Applescript ausführen

do shell script "ssh user@linuxbox command-to-run"

Automat

Sie können einen neuen Workflow erstellen und die erforderlichen Shell-Befehle in die Aktion "Shell-Skript ausführen" einfügen.

Wenn Sie Ihr Passwort nicht eingeben möchten, richten Sie die Schlüsselauthentifizierung ein. cyberciti.biz/faq/…

Je nachdem, was Sie mit diesem AppleScript machen, spezifizieren Sie die Lösung möglicherweise zu stark. (Auf der anderen Seite vereinfache ich die Lösung möglicherweise zu stark.) Wenn Sie nicht zu viel erledigen müssen, schlage ich vor, dass Sie ein neues Profil in iTerm erstellen.

Gehen Sie in die Einstellungen von iTerm und klicken Sie auf die Registerkarte Profile. Erstellen Sie eine Kopie Ihres Standardprofils (cmd-=) oder eines beliebigen anderen Profils, das Sie verwenden möchten. Stellen Sie in dieser Kopie sicher, dass auf der Registerkarte „Allgemein“ im Abschnitt „Befehl“ das Optionsfeld auf „Befehl“ eingestellt ist (anstelle der standardmäßigen „Anmelde-Shell“). Geben Sie für den Befehl ssh <server_name> <command>. Wenn Sie eine Ausgabe sehen möchten, klicken Sie auf die Registerkarte Sitzung und vergewissern Sie sich, dass das Kontrollkästchen „Sitzung automatisch schließen, wenn sie endet“ deaktiviert ist.

Das sollte es sein. In iTerm können Sie dieses Profil öffnen, indem Sie cmd-o drücken und es auswählen, oder Sie können ihm unter den allgemeinen Einstellungen des Profils eine Tastenkombination zuweisen, sodass Sie das Dialogfeld „Profile“ nie öffnen müssen.