"какая" команда ничего не показывает на стандартном выводе

Когда я работаю which управляйте, чтобы это ничего не показывало.

Я выполнил все они, и ни один не дал вывод.

$ which /tool/
$ which RED*.pdf
$ which anime
$ which -a anime
$ info which    
$ which -a
$ which -a Downloads
$ which Downloads
$ which doc    
$ which media
$ which /media
$ which    

$ su -
# which
# which doc
# logout

$ which --help
Illegal option --
Usage: fusrfbinfwhich [-a] args
$ which info
/usr/bin/info
$ which help
$ which cd
$ info which
$ which -a info
/usr/bin/info
$ which -a
$ which -a list.txt
1
задан 19 May 2016 в 18:34

4 ответа

От man which:

NAME
       which - locate a command

SYNOPSIS
       which [-a] filename ...

DESCRIPTION
       which returns the pathnames of the files (or links) which would be executed
       in the current environment, had its arguments been given as commands in a
       strictly POSIX-conformant shell. It does this by searching the PATH for
       executable files matching the names of the  arguments. It does not follow
       symbolic links.

я не ожидал бы which давать любой вывод - как man, страница говорит, Вам нужно имя файла, которое является командой.

Попытка, работающая which ls.

Это могли быть Вы, хотят знать , где команда - для этого Вам нужен whereis.

$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
5
ответ дан 3 December 2019 в 06:25

Хорошее начало было бы:

man which

NAME
   which - shows the full path of (shell) commands.

Ни один из примеров, обеспеченных в Вашем снимке экрана, не является командой, которая могла возвратить путь. Например, CD является сборкой в команде.

я не понимаю то, что Вы ожидаете получать с

which /tool/

и т.д.

, но это кажется, который не является инструментом для достижения результата, который Вы ожидаете.

2
ответ дан 3 December 2019 в 06:25

существует несколько подобных команд, которые имеют решительно различные методы и выводы:

/usr/bin/which Определяют местоположение двоичного пути исполняемого файла.

$ which ssh /usr/bin/ssh

/usr/bin/whereis Поисковые стандартные местоположения Linux для источника, двоичного файла и руководств для указанного имени.

$ whereis ssh /usr/bin/ssh

/usr/bin/find Поиск текущий или указанный путь рекурсивно для соответствующих строк.

(cd /usr/bin && find . ssh) ... ./things_it_checked ... ssh

/usr/bin/grep Искомый текст/files/paths для строки.

(cd /usr/bin && ls * | grep ssh) ssh ssh-add ssh-agent ssh-keygen ssh-keyscan

0
ответ дан 3 December 2019 в 06:25

В моем случае myscript.sh хорошо работал, покупают which (ни whereis) не возвращал вывода:

$ which myscript.sh
$ 

я фиксирую его изменяющийся ~ (тильда) к $HOME:

export PATH="$PATH:$HOME/myprgms

теперь также whereis -l показывают мою добавленную папку.

См. этот ответ для больше о различии между ~ и $HOME.

0
ответ дан 3 December 2019 в 06:25

Другие вопросы по тегам:

Похожие вопросы: