Linux-Workshop

Shell Scripting im Admin-Alltag

14.02.2013
Von Thomas Steudten

Pfad-Verarbeitung

Oft möchte man nur den Datei- oder Verzeichnisnamen ohne den vollen Pfad nutzen. Nachfolgend sind einige Beispiele gezeigt:

> basename /bin/date

date

> dirname /bin/date

/bin

ME=$(basename $0)

DIR=$(cd $(dirname $0); pwd)

SETUP=$(cd $DIR/../etc; pwd)/$ME.conf

echo "$ME: running from location $DIR.."

echo "$ME: loading setup from $SETUP.."

. $SETUP

echo $LOGLVL

Das Skript "path.sh" lädt das Setting abhängig von dessen Verzeichnisablage und Dateinamen immer eine Ebene höher in etc/<scriptname>.conf:

> pwd

> bash tmp/path.sh

path.sh: running from location /home/thomas/tmp..

path.sh: loading setup from /home/thomas/etc/path.sh.conf..

2

> cd tmp; ./path.sh

path.sh: running from location /home/thomas/tmp..

path.sh: loading setup from /home/thomas/etc/path.sh.conf..

2

> mv path.sh newpath; ./newpath

newpath: running from location /home/thomas/tmp..

newpath: loading setup from /home/thomas/etc/newpath.conf..

./newpath: line 10: /home/thomas/etc/newpath.conf: No such file or directory