Допустит, у меня есть программа, которая выглядит следующим образомInform фоновой функции о переменных изменениях
out="Hi"
printing(){
while true
do
echo "$out"
sleep 1s
done
}
printing &
sleep 5s
out="Changed"
Так функция печати работает в фоновом режиме, и я знаю, что он не может видеть изменения, которые сделаны на внешней стороне. Я хотел бы знать, что является эффективным способом сказать, что что-то совершило. Я знаю, что вы можете делать это с tmp-файлами, но он должен замедляться. И я не совсем уверен, что фоновые функции ведут себя так же, как обычные, запущенные в подоболочке? Как мне изменить свой код?
Спасибо большое просто быстрый вопрос Я прав, это быстрее, чем использование файла и немного медленнее, чем доступ к нему непосредственно в программе? – TenebrisNocte
@TenebrisNocte Должно быть быстрым, когда вы обращаетесь к ОЗУ. Я предполагаю, что это может быть медленнее, чем хранить в локальных переменных скрипта, поскольку вам нужно называть 'echo' и' cat', чтобы поставить/получить значение – Samuel
. Благодарю вас только за последнее, что вы могли бы добиться чего-то подобного с помощью фиолетового канала и отправить через просто значение? – TenebrisNocte