我有一个bash脚本,我用它通过ssh连接到远程服务器。这是有效的,但我希望脚本在连接后立即传递cd / some / dir的命令。这似乎不起作用。这是我的代码:
#!/bin/bash
echo "SSHing.."
ssh -i ~/.ssh/some-site.pem xxx@yyy.com
cd /some/dir
read
如何在建立SSH连接后立即执行cd命令?
答案 0 :(得分:9)
通过SSH从脚本内部执行命令有两种简单的方法:
1)ssh user@host 'command'
2)
ssh user@host <<<EOF
command1
command2
<...>
commandn
EOF
答案 1 :(得分:4)
通常你只需在远程机器上编辑〜/ .profile。
如果这不是一个选项,你可以这样做:
ssh -t theserver.com 'cd /some/dir && bash -i'
答案 2 :(得分:0)
您可以使用以下命令
ssh user@watevr <the_cmd_to_be_executed>
答案 3 :(得分:0)
你可以试试这个:
ssh abc@hostname :/pathto/specific directory
答案 4 :(得分:-2)
我认为你缺少反击
#!/bin/bash
echo "SSHing.."
ssh -i ~/.ssh/some-site.pem xxx@yyy.com
ssh `cd /some/dir`
read