我正在处理一个bash脚本,它将连接到一个屏幕并运行另一个bash文件,然后该bash文件将在屏幕上输出一堆文本。
到目前为止,我可以启动屏幕,但是我无法连接到屏幕,运行bash文件,然后看到输出。
这是我到目前为止所得到的:
SCREEN_NAME="the_screen"
function startScreen(){
echo "Attempting to Start New Screen..."
screen -dmS $SCREEN_NAME
echo "Screen '${SCREEN_NAME}' Started!"
}
function runStartBash(){
echo "Attempting to Run Script..."
screen -S $SCREEN_NAME -X stuff 'sh /home/blob/nox/start.sh"^M'
}
startScreen
runStartBash
start.sh包含一个打印数据的简单循环。它可以独立工作,但无法弄清楚如何通过屏幕运行它。
答案 0 :(得分:1)
尝试从"
runStartBash()
screen -S $SCREEN_NAME -X stuff 'sh /home/blob/nox/start.sh"^M'
将其设为:
screen -S $SCREEN_NAME -X stuff 'sh /home/blob/nox/start.sh ^M'
然后以'bash scriptname.sh'