Recientemente, mi Mac comenzó a pedirme una contraseña después de usar cd
en Terminal.app (no he probado otras aplicaciones de término).
aunque parezca extraño, si presiono ctrl, Ccuando se hace la contraseña, la pregunta desaparece y me quedo en el directorio al que estaba cd
(como era de esperar).
¿Cómo puedo saber para qué se necesita esta contraseña o cómo detenerla? Estoy usandozsh
EDITAR:
El terminal solicita una contraseña en momentos aleatorios, para directorios aleatorios. No tengo ni idea de ningún patrón. La salida es básicamente:
cd ~/Downloads
Password:
Creo que esto comenzó a suceder después de instalar JewelryBox.app
terminal
password
command-line
romeovs
fuente
fuente
cd
comandos o solo para directorios específicos? Si es el segundo, ¿alguna idea de lo que tienen en común y / o qué los distingue de los demás? También publicar una captura de pantalla (o una copia de texto) del mensaje (y lacd
parte) daría algunas pistas.whence cd
,which cd
,echo $SHELL
. Parece que este comando es diferente al incorporadoecho $SHELL
da/bin/zsh
ywhich
dicecd: shell built-in command
.whence cd
sólo dicecd
. Recuerdo que hayzsh
algo que puedes habilitar para ver todos los comandos ejecutados cuando haces algo,xset
o algo así, pero no puedo recordar exactamente qué.set -x
eso fue todo.cd
-ing a un directorio produce muchas cosas, incluidas muchas referencias a rvm, rubíes, ... así que creo que el culpable debe ser JewelryBox o cualquiera de sus rvms instalados.Respuestas:
Puede ejecutar
set -x
para que zsh imprima un rastro de cada comando que ejecuta. Cuando una función ejecuta un comando, se imprime el nombre de la función. Ejecuteset +x
para detener la impresión de trazas.Si algo sucede cuando usa el
cd
comando, puede ser porque se trata de un alias o función. Consulte contype cd
.Zsh tiene una función incorporada para enganchar al
cd
comando, por lo que rara vez se usan envoltorios alrededor del comando incorporado. Si la funciónchpwd
existe, zsh la ejecuta inmediatamente después de cambiar el directorio. Comprueba qué hace lachpwd
funciónwhich chpwd
.También hay ganchos que se ejecutan antes y después de cada comando: las funciones
preexec
yprecmd
. Además, todos estos ganchos tienen una versión de matriz, que es una matriz de nombres de funciones. Verifique estos arreglos conecho $chpwd_functions
, y si hay una función, mire su código.fuente