Ваша проблема в том, что old
никогда не устанавливается, по крайней мере, не в той части вашего кода, которую вы опубликовали. grep
всегда будет совпадать при поиске нулевой строки ""
и возвращает нулевой код выхода:
$ echo $PWD | grep ""; echo $?
/home/jim
0