ssh连接后如何运行命令?

Eug*_*kov 2 ssh

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

cd ~/w/logs
tail -f some_file.log
Run Code Online (Sandbox Code Playgroud)

但是当我这样做的时候

ssh host 'cd ~/w/logs; tail -f some_file.log'
Run Code Online (Sandbox Code Playgroud)

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

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

Jak*_*uje 5

你需要做两件事。第一个是在尾部退出(bash最后)之后运行交互式 bash ,然后您需要分配远程 TTY,以便会话变为交互式(-t开关):

ssh -t host 'cd ~/w/logs; less +F some_file.log; exec $SHELL'
Run Code Online (Sandbox Code Playgroud)

exec-- 如果指定了命令,它将替换外壳。没有创建新进程