переменные среды не обнаружены в .bashrc и .profile

С bash 4.4 и новее:

cmd1 & p1=$!
cmd2 & p2=$!

wait -n
[ "$?" -gt 1 ] || kill "$p1" "$p2"
wait

wait -n ожидает завершения первого фонового задания и сообщает о своем статусе выхода в $? .

Предполагается, что вы хотите убить другое задание, когда первое завершает работу с 0 или 1. Измените команду kill на exit , если вы хотите выйти из сценария и оставить другая команда работает без родителей.

2
24.08.2017, 16:44
2 ответа

Редактирование файла файла недостаточно. Вам нужно получить этот файл.Обычно это делается при запуске bash, но если вы редактировали файл, вы можете принудительно прочитать файл с помощью:

source ~/.bashrc

Примечание: некоторые системы могут ограничивать, какой файл анализируется при запуске bash (например, если файл доступен для записи "другое", или просто другое, требующее разных файлов, но, насколько я знаю, это делается не часто, а на специальных устройствах)

РЕДАКТИРОВАТЬ:

Вы написали, что редактировали файл с помощью sudo. это может быть проблемой: если ваш пользователь не может прочитать этот файл, он игнорируется. .bashrcчитается как ваш пользователь. Но и это не должно быть нормальным случаем: файлы уже должны существовать, и только плохие редакторы изменят разрешение редактируемого файла.

1
27.01.2020, 23:10

Ответить :Я забыл поставить trueв кавычки.

-3
27.01.2020, 23:10

Теги

Похожие вопросы