以下操作按预期工作。唯一的问题是,除非我按下 Ctrl + c,否则它不会返回源服务器命令提示符
[abc@server]$ 0</dev/null echo "ls" | ssh -t -t [email protected] "sh"
tcgetattr: Invalid argument
sh-3.2$ xyz.tar.gz
sh-3.2$ Killed by signal 2.
[abc@server]$
我想在 shell 脚本中使用它。
答案1
为什么不:
$ ssh -t -t [email protected] 'ls && exit'
实际命令是
echo "file.txt" | ssh -t -t
...
我认为您的意思是cat file.txt
(file.txt
包含您想要在远程服务器上执行的所有命令),如果是这样,只需将其附加exit
到此文件的末尾:
$ sed '$a exit' file.txt | ssh -t -t [email protected]
$
用于指示最后一行a
代表附加