$ whatis source
source: nothing appropriate.
$ man source
No manual entry for source
$ source
bash: source: filename argument required
source: usage: source filename [arguments]
Он существует и работает. Почему в Ubuntu нет документации по этому поводу? Что оно делает? Как я могу установить документацию об этом?
bash
shell
documentation
Андреа Амбу
источник
источник
$ type source
source is a shell built-in
$ whatis source
source (1) - bash built-in commands, see bash(1)
. Кроме того,man source
берет меня кBASH_BUILTINS(1)
страницам руководства . Это на Fedora, кстати, не знаю, почему эти пакеты Debian не (или плохо) не документированы.Ответы:
source
является встроенной командой оболочки bash, которая выполняет содержимое файла, переданного в качестве аргумента, в текущей оболочке . У него есть синоним в.
(точка).источник
source
специфическая команда bash или она есть в других оболочках? (Я прошу получить метки прямо на вопрос ...)source
присутствовал в оболочке Борна и, следовательно, вероятно, присутствовал во всех его потомках. en.wikipedia.org/wiki/Bourne_shell . Я знаю, что не у всех оболочек естьsource
команда, менее уверенная в том, какие оболочки содержат ее.source
не присутствовал в оболочке Bourne, это расширение GNU, появившееся значительно позже. Оригинальный и по- прежнему портативный синтаксис (POSIX), чтобы использовать команду «точка», то есть.
вместо этого. Я лично никогда не пользуюсь,source
учитывая тот факт, что он дольше печатается и не имеет дополнительной ценности. Я предполагаю, что его основная цель - сделать скрипты более читабельными для новичков.source
это не только более наглядно , но и похоже на нечто иное, чем опечатка. У меня были люди, пропускающие точку / точку, когда я посылаю технические команды по электронной почте.source
в «файле конфигурации», который содержит в основном назначения переменных. Переменные присваивания управляют тем, что делает остальная часть скрипта. Конечно, хороший скрипт установит переменные в разумные значения по умолчанию передsource
или, по крайней мере, проверит допустимые значения.Быть осторожен!
./
иsource
это не совсем то же самое ../script
запускает скрипт как исполняемый файл, запускает новую оболочку для его запускаsource script
читает и выполняет команды из имени файла в текущей среде оболочкиПримечание:
./script
нет. script
, но. script
==source script
https://askubuntu.com/questions/182012/is-there-a-difference-between-and-source-in-bash-after-all?lq=1
источник
./ == source == .
Полезно знать команду type:
когда что-то встроено в оболочку, это время делать
man bash
.источник
man
help {builtin-name}
, то естьhelp source
.help
не работает везде (по крайней мере, в Zsh).type
делает., (точка) - это встроенная команда оболочки bash, которая выполняет команды из файла, переданного в качестве аргумента в текущей оболочке. «источник» является синонимом «.».
Со страницы руководства Bash:
источник
'source' - это длинная версия '.' команда. В командной строке bash можно сделать:
перезагрузить вашу (измененную?) настройку bash для текущего запущенного bash.
Короткая версия будет:
Страница man:
источник
source
Команда выполняет предоставленный сценарий (разрешение на выполнение не является обязательным ) в текущей среде оболочки, а запускает./
предоставленный исполняемый сценарий в новой оболочке.source
У команды есть синоним. filename
.Чтобы сделать это более понятным, взгляните на следующий скрипт, который устанавливает псевдоним.
make_alias
Теперь у нас есть два варианта выполнения этого скрипта. Но только с одной опцией желаемый псевдоним для текущей оболочки может быть создан среди этих двух опций.
Опция 1:
./make_alias
Сначала сделайте скрипт исполняемым.
казнить
проверить
Выход
Упс! Псевдоним ушел с новой оболочкой.
Пойдем со вторым вариантом.
Вариант 2:
source make_alias
казнить
или же
проверить
Выход
Да, Псевдоним установлен.
источник
Если вы сомневаетесь, лучше всего использовать
info
команду:источник
Введите команду «источник помощи» в вашей оболочке.
Вы получите вывод, как это:
источник
Из Проекта документации Linux, Расширенное руководство по написанию сценариев Bash,
Глава 15 - Внутренние команды и встроенные функции :
Таким образом, для тех, кто знаком с языком программирования C, поиск файла имеет эффект, аналогичный
#include
директиве.Также обратите внимание, что вы можете передавать позиционные аргументы в файл, например:
источник
source
может принять аргументы или использоватьreturn
.Следует отметить , что хотя и являются удивительной команда, ни ,
source
ни его сокращенным из.
будет источник более одного файла, значениеили же
не будет работать
Мы можем прибегнуть к использованию
for
циклов, но он будет многократно запускать исполняемый файл, создавая несколько команд или выпуская его.Вывод:
source
не принимает несколько файлов в качестве входных данных. Аргумент должен быть один.Который ИМХО отстой.
источник
С помощью source вы можете передавать переменные или функции из другого файла в ваш скрипт и использовать их без необходимости их повторной записи.
FI:
ура
источник