obtendo apenas o caminho do comando 'type -p prog'

0

se eu correr

nrolland@mactoasty ~ $ type -p skhd   
skhd is /usr/local/bin/skhd

Eu não posso compor bem com outro comando como

nrolland@mactoasty ~ $ la 'type -p skhd'      
ls: is: No such file or directory
ls: skhd: No such file or directory
lrwxr-xr-x  1 nrolland  admin    29B Jun  4 09:35 /usr/local/bin/skhd -> ../Cellar/skhd/0.2.2/bin/skhd

Qual é a maneira mais limpa de obter apenas a segunda parte? (Eu estou usando zsh se isso é de alguma ajuda)

    
por nicolas 13.06.2018 / 13:35

2 respostas

3

Use command -v skhd :

ls -l "$( command -v skhd )"

O utilitário command é um utilitário padrão POSIX, e usando seu -v sinaliza o caminho para o utilitário fornecido, se ele for encontrado em $PATH , a menos que seja uma função, um alias ou um utilitário interno do shell.

    
por 13.06.2018 / 14:02
3

Em zsh , type -p é detalhado por padrão. De man zshbuiltins :

   type [ -wfpamsS ] name ...
          Equivalent to whence -v.

Se você não quiser a verbosidade, use whence -p :

% type -p g++    
g++ is /usr/bin/g++
% whence -p g++  
/usr/bin/g++
    
por 13.06.2018 / 14:06