Помогите разобраться с BASH-скриптом

Нужен скрипт, отправляющий юзеру из 3-го параметра содержимое файла, задаваемое 2-ым параметром. С частотой задаваемой 1-ым параметром, пока юзер не введёт "quit". Я совсем новенький, не понимаю в чём ошибка:

#!/bin/bash

while [ $exit -ne "quit" ]
do

read $exit
cat $2 | write $3
sleep $1

done

error: exit: numeric argument required ??? Почему? Я же строку хочу ввести и сравнить с другой строкой "quit". Что я делаю не так?


Ответы (1 шт):

Автор решения: eri
#!/bin/bash

Нужны отдельные циклы, чтоб read не блокировал отправку

(while true
do
  cat $2 | write $3
  sleep $1
done
) 2>/dev/null &

Уводим отправку в фон и сохраним pid

sendpid=$!

У ТС несколько ошибок с условием выхода были. Так правильно

while [[ "$cmd" != "quit" ]]
do
  read -p "cmd:" cmd
done

Ну и прибить фоновый процесс перед выходом обязательно

kill $sendpid
exit 0
→ Ссылка