Допустим, у меня есть исполняемый скрипт оболочки с именем foo.sh. Внутри это простое эхо "Hello World". Насколько я понимаю, когда я запускаю это через ./foo.sh, запускается подоболочка, которая выполняет эхо-строку "Hello World".
Почему тогда я вижу вывод команды echo в моей основной оболочке / терминале? Я бы подумал, что вам нужно сделать «source ./foo.sh» вместо простого «./foo.sh», чтобы увидеть результат в вашей текущей оболочке.
Кто-нибудь из вас может помочь уточнить?