Puedes usar typeo command -v. La salida de typees legible por humanos; la salida de command -vpuede ser ejecutada por Bash.
Tenga en cuenta que en realidad son un poco diferentes. typey commandbusque el valor hash del comando. Es decir, si escribe cmd, type cmdo command -v cmdle dirá exactamente lo que va a ser ejecutado. También funcionan en alias, funciones de Bash y componentes incorporados de Bash (aunque type -plos ignorará y solo devolverán archivos verdaderos).
whichsolo hace una búsqueda en la RUTA. Esto es diferente porque:
- Si hay un alias, función o incorporado con el mismo nombre, se llamará en su lugar.
- Si un comando se agregó anteriormente en la RUTA desde que se realizó el último hash, será encontrado por
which, pero al ejecutar ese comando se usará el valor hash (puede forzar la actualización del hash en Bash con hash -r).
Por lo general, la gente realmente quiere type, no which, al menos para uso interactivo, ya que lo usan para averiguar "¿de dónde viene este comando cuando lo ejecuto?" Solo debe usarlo whichsi realmente desea hacer una búsqueda de RUTA.