Screen поддерживает только ctrl + a + d для временного отправления, я пытаюсь использовать ожидаемую посылку "/ 01d", но ответа нет, нет ответа на выполнение только сценария ожидаемого на экране, есть ли лучший способзавершить выполнение на экране и создать следующий экран?
У меня было много сценариев, которые нужно отслеживать, и, возможно, мне потребуется отслеживать их в режиме реального времени, поэтому я выбрал экран для управления ими, и теперь я хочу написать сценарий, которыйбыстро перебирает и запускает все скрипты в каталоге.
Я выполняю change.sh прямо на экране
change.sh
#!/usr/bin/expect
send "\01d"
В соответствии с ответами других людей, экрандолжен был сгенерировать событие Detached.
полные сценарии
#!/usr/bin/env bash
#cd /home/centos/Recorder/config
#ls|grep .txt|sed 's/.txt//g'
for ((NUM=$(ls /home/centos/Recorder/config|grep -c .txt); NUM>0; --NUM))
do
NAME=$(ls /home/centos/Recorder/config|grep .txt|sed 's/.txt//g'|sed -n "$NUM"p)
sleep 3
screen -S $NAME /home/centos/Recorder/index.sh $NAME
sleep 3
/usr/bin/expect <<EOF
send "\01"
send "d"
expect eof
EOF
done