Bash 运行 sh 通过屏幕并输出数据

Bash run sh through screen and output data

我正在编写一个 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 包含一个简单的循环来打印数据。它可以独立运行,但无法弄清楚如何通过屏幕 运行 它。

尝试从 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'

启动脚本