ssh连接后如何运行命令?

ssh连接后如何运行命令?

当我连接远程时我总是运行

cd ~/w/logs
tail -f some_file.log

但当我这样做

ssh host 'cd ~/w/logs; tail -f some_file.log'

一切正常,但在 CTRL+C 之后连接丢失。(相似的问题,但不包括 CTRL+C 问题)

远程登录后如何运行命令?

答案1

您需要做两件事。首先是在 tail 退出后(最后bash)运行交互式 bash,然后您需要分配远程 TTY,以便会话变为交互式(-t交换机):

ssh -t host 'cd ~/w/logs; less +F some_file.log; exec $SHELL'

exec-- 如果指定了命令,它将替换 shell。不会创建新进程

相关内容