Inline-SSH-Befehl


15

Ist es möglich, einen einfachen Inline-SSH-Befehl auszuführen, zum Beispiel:

ssh foo@bar.com { cd foo/bar && rm *.foobar }

Antworten:


27

Wenn Sie cd foo/bar && rm *.foobarauf dem entfernten Computer ausführen möchten , tun Sie dies einfach

ssh foo@bar.com  'cd foo/bar && rm *.foobar'

und sehen man ssh...

ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec] [-D
[bind_address:]port] [-e escape_char] [-F configfile]
[-i identity_file] [-L   [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R
[bind_address:]port:host:hostport] [-S ctl_path] [-w tunnel:tunnel
[user@]hostname [command]

Die Teile, die Sie wollen:

ssh [user@]hostname [command]

2
Erwähnenswert ist, dass Sie STDIN und STDOUT auch mit dieser Methode weiterleiten können - erst kürzlich habe ich mit DD over ssh ein HD-Image einer Remote-Maschine erstellt.
crazy2be

9

Stil 1: ssh user@host 'embedded command'

Stil 2: ssh user@host " $(cat cmd.txt) "
cmd.txt ist eine Datei, die Ihren Remote-Befehl enthält, der sich auf Ihrem lokalen Computer befindet


7

ja ist es :

ssh foo@bar.com 'cd foo/bar && rm *.foobar '
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.