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
Другие вопросы по тегам