我有一个别名可以自动执行以下命令序列:
类似这样的东西:
alias command ='ssh -i [私钥路径] -p [PORT] -t [USER @ REMOTE_HOST]屏幕[执行JAR文件的外壳脚本]
别名工作正常(如我看到的那样,在执行远程操作后,屏幕将在远程计算机上运行),但是在执行别名后,屏幕会立即终止-不管屏幕是否分离。客户端计算机和远程计算机都在OSX上运行。
但是,如果我按顺序手动执行命令(没有别名,可以一次全部完成),则>]
然后在远程外壳上
屏幕中的程序可以运行完成并正常退出而不会提前终止。
似乎从客户端计算机执行别名时,后台中有某些进程会杀死屏幕。这可能是什么原因?谢谢!
我有一个别名来自动执行以下命令序列:ssh到远程服务器使用屏幕执行Java程序之类的东西:alias command ='ssh -i [PATH PRIVATE KEY] -p [PORT]-.. 。
最可能的问题是,在传递命令运行时,ssh默认情况下不会分配(伪)终端。进行此工作的最简单方法是将-t
选项传递给ssh(1)
,这将告诉SSH无论如何都要分配一个终端(只要ssh(1)
具有控制终端)。这将使一切都与分离命令时的工作方式相同。