Відповіді:
sourceі .є синонімами в Bash .
Для всіх, хто, можливо, хотів би перевірити, що команди просто синоніми і нічого більше, подивіться вихідний код , скажімо, для версії 4.3 та вивчіть файл builtins/source.def. Ви побачите , що обидва вбудованих команд, sourceі .використовувати ту ж саму функцію: source_builtin.
.традиційна команда джерела, успадкована від давньої оболонки бурна. sourceце просто bash вбудований, який робить точно так само, як ., мабуть, тому, що це читабельніше ( .окремо може бути важко помітити невеликим шрифтом). Ви побачите help sourceта help .покажете ту саму інформацію.
man bashі шукаєте, sourceви побачите, що source filename [arguments]це синонім . filename [arguments].
.є синонімом sourceв bash, але не в POSIX sh, тому вам слід скористатися, .якщо ваш скрипт виконує / bin / sh. Зауважте, що bash-претензії виконуються як POSIX sh, коли викликаються як / bin / sh, але приймаються sourceбез скарги.
Така поведінка мене покусала, наприклад, скрипти, перевірені bash, оскільки / bin / sh виходять з ладу, наприклад, під запуском під золу.
#!/bin/shви ніколи не повинні вважати, що оболонка підтримує будь-що, крім функцій POSIX. pubs.opengroup.org/onlinepubs/9699919799/utilities/…