我的本地计算机上有一个脚本,script.sh
.我想在只能通过多个 ssh 访问的远程服务器上运行它。
脚本.sh:
ls
ls
ls
我试过:
user@localhost:~/$ ssh -At host1 ssh -At host2 "bash -s" -- < ./script.sh
但输出被分成多行:
user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls
我还希望在不将我置于远程计算机上的终端中的情况下执行此操作。
如何让脚本作为单个命令执行?
答案1
我可以通过删除该-t
标志来解决此问题,这样 ssh 就不会将我置于远程主机上的终端中。
user@localhost:~/$ ssh -A host1 ssh -A host2 "bash -s" -- < ./script.sh
输出:
examples.desktop
examples.desktop
examples.desktop
user@localhost:~/$
它还使我保持在本地主机上,而不是让我进入远程主机上的终端。