20. december

Tips til xterm og cd

Xterm der starter i det samme katalog, som sidst blev anvendt

Bruger man meget xterm (konsol i X) og kommandolinier, så kan følgende være praktisk:

Når der startes en ny xterm, så sættes det aktuelle katalog $PWD til det samme katalog (directory), som sidst blev benyttet. Dette gøres med en ny cd alias, således at hver gang man med cd skifter til et andet katalog, så gemmes dette i ~/.xterm_dir.

Til TCSH kan det gøres ved:

if ($?prompt) then     # If the shell is interactive (not a script)
 if ( "$TERM" == "xterm" || "$TERM" == "xterm-debian" ) then
   if ( -e ~/.xterm_dir ) then
     set curdir=`cat ~/.xterm_dir`
     cd $curdir
   endif
   alias cd 'cd \!*; echo $cwd >! ~/.xterm_dir '
 endif
endif

Startes xterm som login-shell (xterm -ls), så skal koden tilføjes ~/.login .

Startes xterm derimod som subshell, så skal koden tilføjes ~/.tcshrc.

Til BASH kan det gøres ved:

 if [ "$TERM" = "xterm" -o "$TERM" = "xterm-debian" ] ; then
   if [ -r ~/.xterm_dir ] ; then
     curdir=`cat ~/.xterm_dir`
     cd $curdir
   fi
   function  cd ()  {
    builtin cd $*
    echo $PWD > ~/.xterm_dir
   }
 fi

Er det til en login-shell/xterm, så lægges koden i den af ~/.bash_profile, ~/.bash_login eller ~/.profile, som man normalt anvender.

For xterm's der startes som subshells placeres koden i ~/.bashrc.