myk*_*hal 4 script shell automation gnu-screen
我想启动 GNU 屏幕,其中包含一些 shell 命令,然后使用不同的命令打开新的屏幕窗口 - 所有这些都是自动的,来自脚本。是否可以?
执行命令后不应关闭屏幕窗口,我只想保留屏幕会话(和分离)
你可以把你的命令放在一个文件中,例如myscreenrc,像这样:
screen command1
screen command2
screen command3
Run Code Online (Sandbox Code Playgroud)
然后screen使用-c后跟该文件名的选项执行,例如,
screen -c myscreenrc
Run Code Online (Sandbox Code Playgroud)
更新
回应更新的问题。我用于测试的命令是screen vim fooand screen vim bar,所以我没有看到屏幕关闭问题。下面解决了屏幕关闭问题,但似乎有点杂乱无章。
screen bash -c 'ls foo; exec bash -i'
screen bash -c 'ls bar; exec bash -i'
Run Code Online (Sandbox Code Playgroud)
ls 只是测试这个问题的一个方便的命令。
更新 #2
另一种方法是从 shell 的 rc 文件而不是从 screen 的 rc 文件启动命令。但是,每个命令都需要另一个文件。例如,要top在一个screen窗口中运行以便退出top将使您返回到bash同一窗口中的提示,请创建一个文件,将其命名为runtop,其中包含以下内容:
. ~/.bashrc
top
Run Code Online (Sandbox Code Playgroud)
然后将此行放在我们正在调用的文件中screenrc:
screen bash --rcfile ~/runtop -i
Run Code Online (Sandbox Code Playgroud)
并开始screen为
screen -c screenrc
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1375 次 |
| 最近记录: |