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'
启动脚本
我正在编写一个 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'