Commande SSH en ligne


15

Est-il possible de faire une simple commande SSH de style en ligne, par exemple:

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

Réponses:


27

Si vous souhaitez exécuter cd foo/bar && rm *.foobarsur la machine distante, faites simplement

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

et voyez 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]

Les pièces que vous souhaitez:

ssh [user@]hostname [command]

2
Il convient de noter que vous pouvez également canaliser STDIN et STDOUT en utilisant cette méthode - l'autre jour, j'ai fait une image HD d'une machine distante en utilisant DD sur ssh.
crazy2be

9

style 1: ssh user@host 'embedded command'

style 2: ssh user@host " $(cat cmd.txt) "
cmd.txt est un fichier qui contient votre commande distante qui se trouve sur votre machine locale


7

Oui, ça l'est :

ssh foo@bar.com 'cd foo/bar && rm *.foobar '
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.