Когда я имел в виду использование SOURCE в Linux, я узнал, что отсюда источник выполняет команду в текущей оболочке, а «./» будет выполняться в новой оболочке.
Мой вопрос: как мы узнаем, в какой оболочке выполняются команды?
Большинство (если не все) оболочек в Linux предоставляют переменную среды $SHELL
:
mtak@frisbee:~$ echo $SHELL
/bin/bash
Лучше поработать с ./
и обеспечить оболочку в скрипте, который вы запускаете (это в первой строке, начинающейся с #!
). Таким образом, вы получите более последовательные результаты.