У меня есть следующий однострочный файл bash foo.sh
:
export PATH=<new path>
В другом скрипте я использую:
echo $PATH # --> old path
. foo.sh | grep bar
echo $PATH # --> old path!!!!
В зависимости от компьютера, на котором я выполняю этот второй скриптвключено, PATH обновляется или не обновляется в основном скрипте.На машинах, где он не работает, какой бы ни была команда справа от канала, она все равно не работает.Напротив, если я уроню трубку, она всегда будет работать независимо от машины.
Предполагается, что мои машины имеют одинаковую конфигурацию (хотя, учитывая эту проблему, похоже, что они этого не делают),Версия Bash - 4.1.2.
Есть ли у вас какие-либо идеи, где / что искать, чтобы понять это поведение?