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