В чем разница между & ldquo; источником & rdquo; и & ldquo;. & rdquo ;?

В чем разница между выполнением скрипта (например, / some / script) с source /some/script и . /some/script в Bash?

150
задан 18 July 2017 в 00:44

2 ответа

. является синонимом source в bash, но не в POSIX sh, поэтому вы должны использовать ., если ваш скрипт запускается / bin / sh. Обратите внимание, что bash утверждает, что работает как POSIX sh, когда вызывается как / bin / sh, но принимает source без жалоб.

Это поведение меня укусило, например, скрипты, протестированные с помощью bash, так как / bin / sh не работают при запуске под ash.

0
ответ дан 18 July 2017 в 00:44

source и . являются синонимами в Bash .

Для тех, кто хочет проверить, что команды являются просто синонимами и ничего более, посмотрите исходный код , скажем, для версии 4.3, и изучите файл builtins/source.def , Вы прочтете, что обе встроенные команды, source и . , используют одну и ту же функцию: source_builtin .

0
ответ дан 18 July 2017 в 00:44

Другие вопросы по тегам:

Похожие вопросы: