Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

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