Поскольку переменная окружения PWD
не содержит текущий рабочий каталог;он содержит независимо от текущего рабочего каталога, когда последний раз sh
устанавливал его .Все, кроме запуска оболочки или оболочки, выполняющей встроенную функцию cd
(или подобную встроенную функцию, подобную pushd
, в оболочках, в которой она есть), не влияет на PWD
и полагается на PWD
где-либо, кромев скорлупе наверное глупая идея.Используйте взамен getcwd
(C), Cwd::getcwd
(Perl), os.getcwd
(Python) и т. Д.