Por que o manual do comando 'where' não está disponível?

6

Recentemente, deparei com o comando where , que fornece o caminho real dos executáveis no Linux. Eu estava ciente de which , whereis , locate e find , mas não where .

Eu quero saber quando este comando foi introduzido e porque seu manual não está disponível. Este comando shell é específico do C Shell ou todos os shells têm o comando where ?

    
por user3795135 01.07.2015 / 11:37

3 respostas

6

Os únicos shells que conheço que têm um comando interno chamado where são os tcsh e zsh . Na página de manual desse shell ( man tcsh / man zshbuiltins ), você pode encontrar a definição:

   where command (+)
           Reports all known instances of command, including aliases, builtins and
           executables in path.

Portanto, é o tcsh -equivalente do bash construído em type ( tcsh não tem type ):

tcsh$ where where
where is a shell built-in
tcsh$ where echo
echo is a shell built-in
/bin/echo
    
por 01.07.2015 / 11:58
5

onde é um comando interno do shell em csh

    where where
    where is a shell built-in

o builtin também está disponível em zsh.

    
por 01.07.2015 / 11:59
2

O comando linux é chamado de which . Se você está acostumado em c-shells isso pode ser um builtin. Bash builtins são documentados através do bash builtin help .

Da Wikipedia: tcsh

The built-in where command. Works like the which command but shows all locations of the target command in the directories specified in $PATH rather than only the one that will be used.

Estou certo: o comando where é um tcsh integrado e não está disponível como um comando externo. Se você me pagar 250 $ eu vou escrever um pequeno comando C para você;)

    
por 01.07.2015 / 11:53