我的屏幕出了点问题。
我想在屏幕会话中启动多个服务器,因此我编写了一个小脚本,设计为每个窗口一个服务器。
#!/bin/sh
screen -dmS servers
screen -S servers -t http -p 0 sh -c "cd /servers/start/httpo ; run.sh"
screen -S servers -t sql -p 1 sh -c "cd /servers/start/sql ; run.sh"
...
但它不能正常工作——会话已创建,但所有命令都在第一个窗口中启动。
我阅读了手册页,但仍然找不到我做错了什么。
答案1
尝试这个:
#!/bin/bash
screen -dmS servers -T xterm -t "http" sh -c 'cd /servers/start/httpo;run.sh'
screen -T xterm -S "servers" -X screen screen -t "sql" sh -c 'cd /servers/start/sql;run.sh'
...
“-T xterm”开关实际上并不是必需的,除非您计划在屏幕内部使用基于 curses 的程序(mc、less 等)。