- which
-
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. Например:
which() { declare -f | which --read-functions $@ } export -f which
- --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:
which () { (alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@ } export -f which
Командная оболочка tcsh:
alias which 'alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
В следующем примере показано два возможных варианта вывода одной и той же команды which, в зависимости от контекста её применения. В первом случае, вместо полного пути выводится ~/ и ./ (для исполняемого файла, расположенного в домашнем каталоге пользователя), когда команда which непосредственно запущена пользователем из командной строки. Во втором — команда which запущена из скрипта. Здесь будет выведен полный путь к указанной программе:
which q2 > ~/bin/q2 echo `which q2` > /home/carlo/bin/q2
См. также
Ссылки
- Официальная страница GNU which
which(1)
— страница справки man по пользовательским командам FreeBSD (англ.)
Команды Unix POSIX.1-2008 Утилиты POSIX.1-2008 admin • alias • ar • asa • at • awk • basename • batch • bc • bg • c99 • cal • cat • cd • cflow • chgrp • chmod • chown • cksum • cmp • comm • command • compress • cp • crontab • csplit • ctags • cut • cxref • date • dd • delta • df • diff • dirname • du • echo • ed • env • ex • expand • expr • false • fc • fg • file • find • fold • fort77 • fuser • gencat • get • getconf • getopts • grep • hash • head • iconv • id • ipcrm • ipcs • jobs • join • kill • lex • link • ln • locale • localedef • logger • logname • lp • ls • m4 • mailx • make • man • mesg • mkdir • mkfifo • more • mv • newgrp • nice • nl • nm • nohup • od • paste • patch • pathchk • pax • pr • printf • prs • ps • pwd • qalter • qdel • qhold • qmove • qmsg • qrerun • qrls • qselect • qsig • qstat • qsub • read • renice • rm • rmdel • rmdir • sact • sccs • sed • sh • sleep • sort • split • strings • strip • stty • tabs • tail • talk • tee • test • time • touch • tput • tr • true • tsort • tty • type • ulimit • umask • unalias • uname • uncompress • unexpand • unget • uniq • unlink • uucp • uudecode • uuencode • uustat • uux • val • vi • wait • wc • what • who • write • xargs • yacc • zcat GNU Coreutils Файловые утилиты chgrp • chown • chmod • cp • dd • df • dir • dircolors • install • ln • ls • mkdir • mkfifo • mknod • mv • rm • rmdir • shred • sync • touch • vdir Текстовые утилиты cat • cksum • comm • csplit • cut • expand • fmt • fold • head • join • md5sum • nl • od • paste • ptx • pr • sha1sum • sort • split • sum • tac • tail • tr • tsort • unexpand • uniq • wc Shell-утилиты basename • chroot • date • dirname • du • echo • env • expr • factor • false • groups • hostid • id • link • logname • nice • nohup • pathchk • pinky • printenv • printf • pwd • readlink • seq • sleep • stat • stty • tee • test • true • tty • uname • unlink • users • who • whoami • yes Категория:- Утилиты UNIX
Wikimedia Foundation. 2010.