我创建了多个screen
来运行具有不同参数的同一段代码。我现在的做法是手动连接一个屏幕,传递命令和参数,然后Ctrl a+d
分离该屏幕。然后再次附加不同的屏幕并再次传递参数并从该屏幕分离。是否可以编写一个 bash 脚本来自动完成整个过程?
答案1
创建多个screen
会话可能不是最好的选择。 Screen 支持在一个会话中放置多个窗口的概念,这使得此类集合更易于处理。有^A 1
等^A 2
和^A '
可以^A "
在窗口之间切换并^A w
列出它们。
对于单屏会话,您可以启动一个会话,然后使用以下命令启动其中的命令:
#!/bin/sh
screen -d -m -S test
screen -S test -X screen -t title somecommand someargs...
screen -S test -X screen -t othertitle somecommand otherargs
screen -d -m
启动一个新的分离会话,-S
为会话命名或通过名称引用会话。-X
将命令行的其余部分作为命令发送到正在运行的会话,并且命令screen
(在 中screen
)打开一个新窗口并在其中运行命令。-t
可以与 一起使用screen
给出窗户一个标题。
或者,您可以将 的命令screen
放入一个文件中,然后使用:source
来运行该文件(类似于.screenrc
)。请参阅手册中的一些示例和命令支持的参考screen
。 (有一卡车。)