Which | это... Что такое Which? (original) (raw)

Which

which

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

Описание

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

См. также

Ссылки

Стандартные программы UNIX (все программы)
Файловые системы chrootdddffdiskfsckgrublilomke2fs • mkreiserfs • mkisofsmkswapmountumount
Файлы и каталоги catchattrcdchmodchownchgrpcksumcmpcpdiffdufilefuserlnlslsofmkdirmv • od • pwdrmrmdirsplittouch
Процессы atcrontabexitkillkillallnicenohuppgreppidofpkillpsrenicesleeptimetopwaitwatch
Пользователи envfingeridlognamemesgpasswdsusudouptimewwallwhowhoamiwrite
Сеть ftp • hostifconfignetcatnetstatnmapnslookuppingrloginsshtraceroutewget
Тексты AWKcommcutedex • expand • unexpand • fmtheadiconvjoinlessmorepaste • pr • sedsorttactailtruniqwcxargs
Командная строка aliasbasenamebashbinddirnameechoexprfalseprintftesttrueunset
Поиск findgrepstringswhereiswhich
Разное bannerbccaldate • help • lpman • history • sizeteeunameyes

Wikimedia Foundation.2010.

Полезное

Смотреть что такое "Which" в других словарях: