Wieder ein schnelles Script:

Idee: Als Admin kreist man immer wieder zwischen 4-5 Verzeichnissen hin und her, wobei weder popd/pushd noch "cd -" eine wirkliche Hilfe sind. Folgende Function, plaziert in .bashrc oder /etc/profile.local, erleichtert die Arbeit ungemein!

Kurz: mit "lcd" schaut man sich die Liste der Verzeichnisse an, mit "lcd +" fügt man welche hinzu, und mit "lcd " wechselt man in das Verzeichnis mit der Nummer !

Kopieren und ausprobieren!


#
# Created by Tjabo Kloppenburg
#
# Version vom 16.02.2000, 19:33

##########################################################################
#
# Funktion fuer ein Directory-Array / (C)2000 by Tjabo Kloppenburg
#
##########################################################################

function lcd()
{
  LSTFILE=$HOME/.dirlst
  CNT=0
  typeset -i CNT
  declare -a FELD

  case "$#" in
    0)   if [ ! -e $LSTFILE ]; then
           echo "Add directories with: lcd +"
         else
         # Liste anzeigen:
           echo
           for line in `cat $LSTFILE`; do
             CNT=$(($CNT+1))
#            FELD[$(($CNT))]=$line
             echo -n " "
             if [ $CNT -lt 10 ]; then
               echo -n " "
             fi
             echo "$CNT : $line"
           done
           echo
         fi
      ;;
    1) case "$1" in
       "+") pwd >>$LSTFILE
            echo
            echo " added path `pwd` to list of visited directories."
            echo
            ;;

       "--help")
            echo
            echo " lcd V0.5a -- Copyright (C)2000 by Tjabo Kloppenburg"
            echo " Usage: lcd [num|+|--help]"
            echo "        Type \"lcd\" to view list of directories."
            echo "        Type \"lcd +\" to add the actual directory."
            echo "        Type \"lcd num\" to change directory."
            echo "        Type \"lcd --help\" to view this help."
            echo 
            ;;

       *)   for line in `cat $LSTFILE`; do
              CNT=$(($CNT+1))
              FELD[$(($CNT))]=$line
            done
            ziel=${FELD[$1]}
            cd "$ziel"
            ;;
       esac
     ;;
  esac
}
##########################################################################