Jump to content

Точка (команда)

(Перенаправлено из источника (команда) )

В оболочке Unix , точка называемая командой-точкой ( . ), представляет собой команду , которая оценивает команды в компьютерном файле в текущем контексте выполнения. [1] В оболочке C предусмотрена аналогичная функциональность, что и source команда, [2] и это имя также встречается в «расширенных» оболочках POSIX. [3] [4]

Команду «точка» не следует путать с файлом «точка» с префиксом точки , который представляет собой скрытый файл или скрытый каталог . Не следует также путать его с ./scriptfile обозначение для запуска команд, которое представляет собой просто относительный путь, указывающий на текущий каталог (обозначается в Unix как символ «.» и обычно вне переменной Path ).

Аргументы

[ редактировать ]

Имя файла команды «точка» является первым аргументом . Если этот аргумент не содержит косую черту , оболочка будет искать файл во всех каталогах, определенных в PATH переменной среды . В отличие от обычных команд, которые также находятся в PATH, исходный файл не обязательно должен быть исполняемым . В противном случае имя файла рассматривается как простой путь к файлу. [1]

В нескольких «расширенных» оболочках, включая bash, [3] zsh [4] и кш, [5] можно указать параметры во втором аргументе. Если параметры не указаны, исходный файл получит набор позиционных параметров, доступных в текущем контексте. Если указаны параметры, исходный файл получит только указанные параметры. В любом случае параметр $0 будет $0 текущего контекста.

Использование

[ редактировать ]

Поскольку выполнение исходного файла выполняется в вызывающем контексте, среда [примечание 1] изменения внутри применяются к текущему процессу или текущей оболочке. Это сильно отличается от сценариев, запускаемых непосредственно shebang или sh foo.sh, которые запускаются в новом, отдельном пространстве процессов , с отдельной средой.

Таким образом, команду «точка» можно использовать для разделения большого сценария на более мелкие части, что потенциально позволяет реализовать модульную конструкцию. Поиск также часто выполняется оболочкой при запуске сеанса для файлов профиля пользователя, таких как .bashrc и .profile.

source — это встроенная в оболочку команда, которая оценивает файл, следующий за командой, как список команд, выполняемых в текущем контексте. [6] Часто «текущий контекст» представляет собой окно терминала, в котором пользователь вводит команды во время интерактивного сеанса.

Исходную команду можно сократить до точки ( .) в Bash и подобных POSIX-оболочках. Однако это неприемлемо в оболочке C , где эта команда появилась впервые.

Некоторые сценарии Bash следует запускать с использованием source your-script синтаксис, а не запускаться как исполняемая команда, например, если они содержат каталог изменений ( cd) и пользователь намеревается оставить их в этом каталоге после завершения сценария, или они содержат команду экспорта , и пользователь хочет изменить среду текущей оболочки. Другая ситуация использования — когда файл сценария не имеет разрешения «на выполнение» . Передача имени файла сценария в нужную оболочку запустит сценарий в подоболочке , а не в текущем контексте.

Примечания

[ редактировать ]
  1. ^ Jump up to: а б «POSIX.1:2013 Язык команд оболочки § точка» . Проверено 23 мая 2016 г.
  2. ^ «Справочная страница Csh#команда» . Проверено 23 мая 2016 г.
  3. ^ Jump up to: а б «Справочное руководство Bash § Встроенные функции оболочки Bourne» . Проверено 23 мая 2016 г.
  4. ^ Jump up to: а б «Встроенные команды оболочки ZSH» . Проверено 23 мая 2016 г.
  5. ^ "справочная страница ksh" . Оракул . Проверено 23 мая 2016 г. + . имя [аргумент ...]
  6. ^ «ВСТРОЕННЫЕ КОМАНДЫ BASH», справочная страница Linux для «исходного кода» в Bash-3.0. 2004 г., 20 апреля
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7da87fae59ef62da53ae4d4847f77150__1719905880
URL1:https://arc.ask3.ru/arc/aa/7d/50/7da87fae59ef62da53ae4d4847f77150.html
Заголовок, (Title) документа по адресу, URL1:
Dot (command) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)