内联SSH命令

是否可以做一个简单的内联样式SSH命令,例如:

ssh [email protected] { cd foo/bar && rm *.foobar } 

如果你想在远程机器上执行cd foo/bar && rm *.foobar ,只需要做

 ssh [email protected] '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] 

样式1: ssh user@host 'embedded command'

样式2: ssh user@host " $(cat cmd.txt) "
cmd.txt是包含远程命令的文件,它位于本地计算机上

是的 :

 ssh [email protected] 'cd foo/bar && rm *.foobar '