Also habe ich mir vor einiger Zeit eine kleine Funktion gebastelt, die nur solche Werte aufnimmt, die nicht bereits enthalten sind:
addpath () {
left=''
P=$1
shift
while [ -n "$1" ]
do case $1 in
-l) left=1 ;;
-r) left='' ;;
*) case :$P: in
*:$1:*) ;;
*) if [ $left ] ; then P=$1:$P ; else P=$P:$1 ; fi ;;
esac ;;
esac
shift
done
echo $P
}
"addpath" wird einfach in die .profile oder .bashrc (je nach Vorliebe) einkopiert.
Der Aufruf erfolgt in dieser Form:
PATH=`addpath $PATH -l /usr/local/perl/perl-5.8.8/bin -r ~/bin`
Dies fügt "/usr/local/perl/perl-5.8.8/bin" vor dem aktuellen Pfad ein (links) und "~/bin" dahinter (rechts).
Ohne -l und -r wird nur rechts angefügt. -l und -r beziehen sich auf alle, dahinter stehenden Pfade.
addpath kann fuer alle Pfadvariablen verwendet werden, die wie PATH aufgebaut sind, also z.B. auch für MANPATH, PERL5LIB etc. pp.
Wie ich sehe wendet dich dein Blog auch mal sinnvollen Sachen zu, hätt ich dir gar nicht zugetraut :D
AntwortenLöschen