Я пишу сценарий для развертывания проекта на нескольких серверах (9 и считая). Благодаря сжатию, копированию и удаленным подключениям сценарий быстро становится довольно медленным. Итак, сейчас я изучаю, как скрипт запускает помощник через экран. Идеальный рабочий процесс в псевдокоде выглядит следующим образом:
deployment script
accept user input for deployment parameters
echo "deployment initiated"
TTY=`tty`
start helper 1 in detached screen, dumped to a temp file
exit
helper 1
export from SVN
compress files
upload to temporary directory on live servers
swap old and new web directories on live servers
* start helper 2 in $TTY
exit
helper 2
echo "deployment done"
echo "do you want to view deployment log? [y/N]"
take user input
if yes
output temp file
delete temp file
exit
Все достаточно просто, за исключением команды, отмеченной *. Я могу передать статическое сообщение для write $TTY
, но для ввода данных от пользователя мне потребуется выполнить сценарий оболочки снаружи терминала, в котором он должен отображаться. Есть какой-либо способ сделать это?
(Между прочим, я использую CentOS на сервере разработчиков.)