which

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску

which — Unix-утилита, отображающая полный путь к указанным командам или сценариям.

Описание

Which принимает один или более аргументов имя_программы. Для каждого из них она выводит тот полный путь к исполняемому файлу, который будет использован командной оболочкой, если имя_программы ввести в качестве команды в командной строке. Эта программа выполняет поиск исполняемых файлов или сценариев в каталогах, перечисленных в переменной окружения PATH используя тот же алгоритм, что и bash.

Опции

--all, -a
Выводит все совпавшие исполняемые файлы по содержимому в переменной окружения PATH, а не только первый из них.
--read-alias, -i
Считывает псевдонимы, поступающие из стандартного ввода и направляет на стандартный вывод информацию по совпавшим. Эта опция полезна в сочетании с использованием псевдонима для самой команды which. Например:
alias which='alias | which -i'.
--skip-alias
Игнорирует опцию «--read-alias», если таковая имеется. Эта опция полезна для точного поиска обычных двоичных файлов, которые используют опцию «--read-alias» в псевдониме или функции для which.
--read-functions
Считывает функции, определённые в командной оболочке и поступающие из стандартного ввода, а затем направляет на стандартный вывод информацию по совпавшим. Эта опция полезна в сочетании с функциями командной оболочки для самой команды which. Например:

<source lang="bash">which() { declare -f | which --read-functions $@ } export -f which</source>

--skip-functions
Игнорирует опцию «--read-functions», если таковая имеется. Эта опция полезна для точного поиска обычных двоичных файлов, которые используют опцию «--read-alias» в псевдониме или функции для which.
--skip-dot
Пропускает все каталоги из переменной окружения PATH, которые начинаются с точки.
--skip-tilde
Пропускает все каталоги из переменной окружения PATH, имена которых начинаются с символа тильда (~), а также все исполняемые файлы, которые расположены в каталоге, указанном в переменной HOME.
--show-dot
Если имя каталога из переменной окружения PATH начинается с точки и соответствующий исполняемый файл имя_программы был найден в этом пути, тогда вместо полного пути будет выведено «./имя_программы».
--show-tilde
Выводит тильду, когда каталог совпадает с каталогом, указанном в переменной окружения HOME (то есть с домашним каталогом). Эта опция игнорируется, если which вызывается суперпользователем (root).
--tty-only
Не обрабатывает опции, которые находятся справа за этой опцией, если они поступают не с терминала (tty).
--version,-v,-V
Выводит информацию о версии программы на стандартное устройство и завершает её работу.
--help
Выводит краткое описание опций программы на стандартное устройство и завершает её работу.

Пример использования

Обычно утилиту which используют в различных псевдонимах (C shell) или сценариях (Bourne shell) командных оболочек, например, как показано ниже:

Командная оболочка bash: <source lang="bash">which () {

 (alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@

} export -f which</source>

Командная оболочка tcsh: <source lang="bash">alias which 'alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'</source>

В следующем примере показано два возможных варианта вывода одной и той же команды which, в зависимости от контекста её применения. В первом случае, вместо полного пути выводится ~/ и ./ (для исполняемого файла, расположенного в домашнем каталоге пользователя), когда команда which непосредственно запущена пользователем из командной строки. Во втором — команда which запущена из скрипта. Здесь будет выведен полный путь к указанной программе:

<source lang="bash">which q2 > ~/bin/q2 echo `which q2` > /home/carlo/bin/q2</source>

См. также

Ссылки

  • Официальная страница GNU which
  • which(1) — страница справки man по пользовательским командам FreeBSD <span class="ref-info" title="{{{Expansion depth limit exceeded}}}" style="font-size:85%; cursor:help; margin-left:0.2em; color:#888;">({{{Expansion depth limit exceeded}}})

en:Which (Unix) fr:Which hu:Which (Unix) tr:Which (Unix)

Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

→