我希望能够启动一个命令(如./stats.sh)以打开一个屏幕(或tmux,或其他需要的东西),如果该屏幕已经存在,则重新连接;如果不存在,则启动,然后运行在一个窗格中说“ htop”,在另一个窗格中说“ dstat”。
我知道您可以使用ctrl + a | 在现有的屏幕会话中,但是我希望能够通过我可以运行的脚本来完成全部操作。这样的事情可能吗?
提出问题的另一种方式是:是否可以从带有多个窗格的命令行启动屏幕,每个窗格运行自己的命令。
有人以不同的形式提出了这个问题,但我会在适当的地方提供参考。
首先,要附加到现有屏幕或根据需要创建一个新屏幕,请使用以下命令:
screen -D -R -S namedscreen
或者,您可以测试命名的屏幕是否存在,如果不存在则创建一个(分离的)屏幕:
screen -S name -X select . || screen -dm -S name
对于所需的其余脚本,可以创建窗口并将命令发送到现有的屏幕会话:
screen -dm -S name -t window0
screen -S name -X screen -t window1
screen -S name -X screen -t window2
screen -S name -p 0 -X stuff $'command 1\r'
screen -S name -p 1 -X stuff $'command 2\r'
screen -S name -p 2 -X stuff $'command 3\r'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句