Sie sind nicht angemeldet.

1

29.03.2006, 16:57

[gelöst] PATH variable mit shell-script ändern

Hallo,
ich muss die PATH Variable in einem Shell Script ändern. Dabei soll eine bestimmte Zeichenfolgen innerhalb von PATH mit einer anderen erstetzt werden. Ich verwende die C-Shell.

Ich möchte PATH ohne Umweg über eine Datei setzen. Das funktioniert aber leider nicht so, wie ich mir das vorstellte, z.B.

sed -e 's/str1/str2/g' $PATH

oder

awk 'BEGIN {gsub("str1","str2",$PATH)}'

Wie bekommt man das z.B. mit sed, awk oder ähnlichen hin?

Thanks,
Dieter

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

2

29.03.2006, 17:28

RE: PATH variable mit shell-script ändern

$PATH ist doch keine datei, also ist

Zitat

sed -e 's/str1/str2/g' $PATH
unsinn, besser ist
PATH=$(echo $PATH | sed -e 's/string1/string2/g')
anschliessend ein export. denke daran, das diese änderung nur in dieser shell und ihren childs gültig ist!!! für das matching in sed solltest du einen anderen charakter als / verwenden, da der in den verzeichnisnamen schon vorkommt und so in den strings1 und 2 extra gequotet werden müsste.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

3

29.03.2006, 17:45

RE: PATH variable mit shell-script ändern

Vielen Dank!

Nur eine kleine Frage, bei der C-Shell müsste es doch dann so aussehen

setenv PATH $(echo $PATH | sed -e 's/material/materialT/g')

Da beschwert sich die shell aber.

Welche Shell ist eigentlich am Besten für die Entwicklung von Shell-Scripts geeignet. Die C-Shell wurde mir mal empfohlen, aber ich habe auch schon negatives gelesen.

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

4

29.03.2006, 18:02

RE: PATH variable mit shell-script ändern

ahhh c-shell, meins war bash!
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

strcat

Unix Gladiator

  • »strcat« ist männlich

Beiträge: 2 331

Wohnort: /Earth/Germany/Bavaria/Regensburg

  • Nachricht senden

5

29.03.2006, 18:13

RE: PATH variable mit shell-script ändern

Wirf die CSH weg; die ist unbrauchbare Schweinescheisse. Laut POSIX.1 reicht ein

Quellcode

1
2
FOO="/bin:/sbin:/usr/bin:/usr/sbin:/foo/material"
echo ${FOO//material/materialT}

Das sich die CSH nicht daran haelt, ist nur eins von vielen Zeichen das sie Scheisse ist und nicht verwendet werden soll. Es gibt _keinen_ Grund die CSH zu verwenden, da /bin/sh ueberall existiert und mit Sicherheit kein Symlink gegen die CSH ist.
Christian 'strcat' Schneider <http://www.strcat.de/>
/* When all else fails, read the instructions. */

6

31.03.2006, 08:55

RE: PATH variable mit shell-script ändern

Ja, Du hast recht! C-Shell ist Mist. Bin umgestiegen auf standard shell (bash) und es funktioniert jetzt alles.

Vielen Dank!

Thema bewerten