Alias ​​para "cd" que muestra el directory actual cada vez que cambio de directory?

En tcsh, me gustaría un alias para pwd después de hacer un cd en un directory diferente.

Anteriormente utilicé el alias siguiente para esto, pero también cambia el indicador del shell para que sea [current directory]> . Debido a las necesidades del proyecto, no puedo hacer que el indicador de commands cambie más, pero aún quiero que se muestre la ruta actual cada vez que cd .

 alias cd 'cd \!* ; set cwd=`pwd`;pwd;set prompt=$cwd:t\ \!\>\ ' 

He intentado jugar con el alias anterior para eliminar el set prompt pero no he conseguido que funcione (no entiendo la syntax).

Lo siguiente funciona para mí:

 alias cd 'cd \!*; set cwd=`pwd`; pwd' 

Esto reemplaza cd con un alias que ejecuta tres commands:

 cd \!* 

que cambia el directory,

 set cwd=`pwd` 

que almacena el resultado de pwd en la variable cwd , y finalmente

 pwd 

que imprime el directory actual.

El segundo command ya no es útil, ya que el aviso no debería necesitarlo, por lo que podría simplificar esto para

 alias cd 'cd \!*; pwd' 

o mejor aún,

 alias cd 'cd -p \!*' 

que usa la opción -p para imprimir el directory resultante.

(Tenga en count que en tcsh , puede especificar %/ or %~ en el indicador para get el directory de trabajo actual, en lugar de almacenarlo en una variable. %/ Proporciona la ruta completa en todos los casos, %~ simplifica usando ~ cuando sea posible .)

En tcsh , puede definir el alias de cwdcmd especial cwdcmd que se invoca cada vez que cambia el directory de trabajo actual:

 alias cwdcmd pwd 

zsh copió ese concepto (utilizando una function de enlace en lugar de alias ( tcsh no tiene function)):

 chpwd() pwd 

En cualquier caso, si desea que su request tenga el componente final del directory de trabajo actual, no necesita nada como eso.

 set prompt='%c !> ' 

seria suficiente. También tenga en count que tcsh configura la variable $cwd , sin necesidad de establecerla a mano en un alias de cd .

Otra alternativa podría ser el uso de rprompt , esto funciona exactamente como el post, pero en el lado derecho :

por ejemplo, con set rprompt="%~" :

 % cd /usr/local/bin/ ~ % echo Hello /usr/local/bin Hello % /usr/local/bin 

También puede usar su alias en esto: cualquier cosa que funcione para la prompt debería funcionar para rprompt .

No sé si esto satisface sus "necesidades del proyecto", lo que le impide cambiar el aviso regular, pero tal vez podría ser una opción.