Bash скрипт для входа через SSH
Извините, если это кажется глупым вопросом, но я только изучаю bash-скриптинг. Для школьного проекта нам нужно кодировать RTX, который работает в Unix. Он запускается как процесс в терминале и принимает пользовательский ввод, а затем выводит его на экран. Я хочу написать bash-скрипт для проверки того, что он может реагировать на множество быстрых действий пользователя без переполнения или сбоя.
Моя главная проблема заключается в том, что как только RTX запускается, сценарий bash останавливается на этой строке до тех пор, пока RTX не завершится, и только затем печатает цикл в терминал (вместо того, чтобы печатать его в подсказку RTX, как я намереваюсь).
Я попытался запустить RTX в фоновом режиме, но это не сработало. Мне нужно найти способ перенаправить ввод в RTX, пока он еще работает с помощью скрипта bash. Поиски в Google не дали примеров, которые я понял / мог бы адаптировать. Любая помощь приветствуется.
#!/bin/bash
# declare STRING variable
STRING="RTX Worked =D"
#Start the rtx in a new process, stuck on this line until rtx terminates.
./main
#Somehow redirect io to the rtx.
for i in `seq 1 100`;
do
echo $i
echo " \n"
done
echo $STRING
1 ответ
Вы можете запускать совместные процессы в bash, а затем отправлять команды совместному процессу через канал.
см. руководство по Bash под подкомандой coproc
Прошло много времени с тех пор, как я это сделал, и я потерял свои примеры, но что-то вроде
coproc RTX ./main
for i in 'seq 1 100`;
do
echo $i >&{RTX[1]}
done