我正在通过 shell 脚本登录远程计算机(通过将 ssh 命令放在脚本中)。
在 ssh 命令之后,脚本的其余行将在当前计算机而不是远程计算机上执行。如何使其余的 shell 脚本行在远程计算机上执行?
可以说这是我的脚本
ssh username@ip-address
ls
whoami
----
ssh 之后的其余行应该在远程计算机而不是当前计算机上执行。如何实现这一目标?
一种可能的解决方案是使用heredoc
如以下示例所示:
$ ssh example.foo.com -- <<@@
> ls /etc/
> cat /etc/passwd
> @@
基本上第一行@@ 和最后一行之间的所有内容都将在远程计算机上执行。
您还可以通过将文件的内容读入变量来使用文件的内容:
$ MYVAR=`cat ~/foo.txt`
$ ssh example.foo.com -- <<@@
> $MYVAR
> @@
或者简单地在定界文档中执行相同的操作:
$ ssh example.foo.com -- <<@@
> `cat ~/foo.txt`
> @@
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)