Что делает команда «источник»? - PullRequest
0 голосов
/ 16 мая 2019

Я хотел бы знать, что делает команда source.Я пробовал:

  • whatis
$ whatis source
source: nothing appropriate.
  • человек
$ man source
No manual entry for source
  • источник (-h,--help и т.д ...)
$ source
source: not enough arguments

Но, похоже, нет документации по этому поводу.

Я обычно использую его для сохранения любых изменений в моих точечных файлах, но что именно он делает?Почему нет документации по этому поводу?

1 Ответ

1 голос
/ 16 мая 2019

source - это встроенная команда оболочки оболочки bash, которая выполняет содержимое файла, переданного в качестве аргумента, в текущей оболочке .Он имеет синоним . (точка).

Синтаксис

. filename [arguments]

source filename [arguments]

Из руководства по источнику

source filename [arguments]
    Read and execute commands from filename in the current shell environment and
    return the exit status of the last command executed from filename. If 
    filename does not contain a slash, file names in PATH are used to find the
    directory containing filename. The file searched for in PATH need not be
    executable. When bash is not in posix mode, the current directory is
    searched if no file is found in PATH. If the sourcepath option to the short
    builtin command is turned off, the PATH is not searched. If any arguments
    are supplied, they become the positional parameters when filename is
    executed. Otherwise the positional parameters are unchanged. The return 
    status is the status of the last command exited within the script (0 if no
    commands are executed), and false if filename is not found or cannot be
    read. 

Будьте осторожны!./ и source являются не совсем одинаковыми .

  • ./script запускает сценарий как исполняемый файл, запуская новую оболочку длязапустите его
  • source script читает и выполняет команды из имени файла в текущей оболочке окружении

Примечание: ./script не . script, но . script == source script

Есть ли какая-либо разница между источником в bash?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...