Considere la función de bash:
func() {
cd /;
echo test;
}
Llamarlo hace lo que cabría esperar:
~:>func
test
/:>
Pero cuando se llama desde una subshell (p. Ej., Utilizando backticks o $ ()) se ejecuta de manera muy extraña.
~:>func() { cd /; echo test; }
~:>echo $(func)
test Saving session... ...saving history...truncating history files... ...completed.
~:>
Este problema no aparece si cd
No se ejecuta en la función:
~:>func() { echo test; }
~:>echo $(func)
test
~:>
Esto está causando problemas con algunos scripts que dependen de cierto comportamiento de salida, por ejemplo, CLASSPATH=$(func)
dónde func
Es complejo y requiere el uso de cd
.
Lo que es extraño es que esto funcionó bien antes. No comenzó a suceder hasta hace poco, pero no sé qué lo habría causado.
Nota: alias cd
informes "alias: cd: no encontrado" y which cd
devuelve / usr / bin / cd, que es un script que es idéntico a otro Mac que no tiene el problema.
~/.bash_logout
?