Помогите разобраться с 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