2011-10-10 12 views
8

nunca he tenido este problema antes con mis otras máquinas, pero por alguna razón en ZSH cada vez que escriboZsh `` lo que rvm` o lo que devuelve el contenido gem` función en lugar de la ruta de

which gem 

o

which rvm 

me sale el contenido de función:

gem() { 
local result 
command gem "[email protected]" 
result="$?" 
hash -r 
return $result 
} 

en lugar de su trayectoria. Por mi vida no puedo entender por qué sucede esto.

Si me cambio a bash no tengo estos problemas.

Respuesta

8

Este es el comportamiento normal de zsh. El which incorporado es equivalente a whence -c, que muestra las definiciones de funciones. Use whence, posiblemente con una combinación de opciones que no incluya -f o -c, si no desea esto. Por ejemplo, whence -w gem mostrará gem: function. Si solo desea buscar ejecutables externos (y no alias, built-in, palabras reservadas o funciones), use whence -v.

+3

Gracias. Eso definitivamente aclaro las cosas para mí. Encontré usar la opción '-p' con' which' y obtuve el resultado que esperaba. Lo mismo parece ser cierto para usar '-p' con' whence'. – user770148

Cuestiones relacionadas