WHICH(1)

НАЗВА
which — показ повного шляху до команд (оболонки).

КОРОТКИЙ ОПИС
which [параметри] [--] назва_програми [...]

ОПИС
Which приймає один або декілька аргументів. Для кожного з аргументів програма виводить до стандартного виведення повний шлях до виконуваних файлів, які мало б бути запущено, якщо відповідний аргумент було б введено у відповідь на запит командної оболонки. Завдання програми буде виконано шляхом пошуку виконуваного файла або скрипту у каталогах зі списку змінної середовища PATH з використанням того самого алгоритму, що і для bash(1). Цю сторінку підручника створено з файла which.texinfo.

ПАРАМЕТРИ

--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-functions’ в альтернативі або функції для which.

--skip-dot
    Пропустити ті каталоги у PATH, назви яких починаються з крапки.

--skip-tilde
    Пропустити ті каталоги у PATH, назви яких починаються з тильди, і ті, виконувані файли, які зберігаються у каталозі HOME.

--show-dot
    Якщо назва каталогу у PATH починається з крапки, і відповідний виконуваний файл було знайдено у відповідному каталозі, вивести «./назву_програми», а не повний шлях до неї.

--show-tilde
    Виводити тильду, якщо каталог відповідає каталогу HOME. Цей параметр буде проігноровано, якщо which викликано від імені root.

--tty-only
    Негайно припинити обробку параметрів, якщо програма працює не у терміналі.

--version,-v,-V
    Вивести до стандартного виведення дані щодо версії програми і завершити роботу зі станом «успіх».

--help
    Вивести до стандартного виведення дані щодо користування програмою і завершити роботу зі станом «успіх».

ПОВЕРНУТЕ ЗНАЧЕННЯ
Which повертає кількість аргументів, обробка яких завершилася помилку, або -1, якщо не було задано ‘назву програми’.

ПРИКЛАДИ
Рекомендованим способом використання цього інструмента є додавання альтернативи (оболонки C) або функції командної оболонки (оболонки Bourne) для which ось так: [ba]sh:
which ()
{
  (alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
}
export -f which
[t]csh:
alias which ’alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde’
У результаті буде виведено придатні до читання ~/ і ./, якщо which було запущено з початкового запиту командної оболонки, але виведено повний шлях, якщо програму використано зі скрипту:
> which q2
~/bin/q2
> echo $(which q2)
/home/carlo/bin/q2

ВАДИ
Каталог HOME буде визначено на основі змінної середовища HOME, which перерве роботу, якщо такої змінної не існуватиме. Which вважатиме два однакових каталоги різними, якщо один з них буде символічним посиланням на шлях іншого.

АВТОР
Carlo Wood (carlo@gnu.org)

ДИВ. ТАКОЖ
bash(1)

ПЕРЕКЛАД
Український переклад цієї сторінки посібника виконано Yuri Chornoivan <yurchor@ukr.net>

Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html). НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.

Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.