Встроенная команда SSH

15

Можно ли сделать простую команду SSH встроенного стиля, например:

ssh foo@bar.com { cd foo/bar && rm *.foobar }
Ахмед Нуаман
источник

Ответы:

27

Если вы хотите выполнить cd foo/bar && rm *.foobarна удаленной машине, просто выполните

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

и посмотри 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]

Части, которые вы хотите:

ssh [user@]hostname [command]
Свен
источник
2
Стоит отметить, что вы также можете передавать STDIN и STDOUT с помощью этого метода - как раз на днях я сделал HD-образ удаленной машины, используя DD поверх ssh.
crazy2be
9

стиль 1: ssh user@host 'embedded command'

Стиль 2: ssh user@host " $(cat cmd.txt) "
cmd.txt это файл, который содержит вашу удаленную команду, которая находится на вашем локальном компьютере

Джинью Лю
источник
7

Да, это так :

ssh foo@bar.com 'cd foo/bar && rm *.foobar '
Goez
источник