PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neue PFADE durchgängig setzen / ergänzen



LX-Ben
14.11.03, 13:09
Die nachfolgenden Muster wurden unter SuSE 8.2 ausgetestet,
dürften aber für die meisten Linux-Distributionen gültig sein,
da sich die genutzten/zitierten Beiträge u.a.auf Debian beziehen.

Mein Ziel war es, das neue Verzeichnis /usr/bin/scripte in den
PATH (sämtlich Pfade, in denen Linux nach ausführbaren Dateien
suchen darf) unter allen Konstellationen einzubeziehen. Um zum
Beispiel eine Diskette (nach Mounten) auf Viren zu überprüfen,
tippe ich simpel Alt+F2 an und gebe 'kav /media/floppy' ein.

REM kav ist mein script zum zieloffenen Nutzen des Kaspersky-
Virenprüfers. Das kav-script könnte natürlich noch dahingehend
erweitert werden, dass bei $1="/media/floppy" per script
gemountet wird. :)

Zwei Beiträge haben mir sehr geholfen, das scripte-Verzeichnis
so in die PATH-Definitionen einzubeziehen, dass der ergänzte
PATH sowohl unter kde, konsole als auch 'echter console'
funktioniert.

Aber erst, nachdem ich selbst wegen unterschiedlicher PATH-Syntax-
Erfordernisse den Rest tüftelte, klappt es nun problemlos. Um
anderen das zu ersparen, wird hier ein komplettes und nachvoll-
ziehbares Muster wiedergegeben.

MiGo schrieb dazu unter http://www.linuxforen.de/forums/showthread.php?threadid=98472

Danach habe ich mich auch schon totgesucht. 2 Stunden "man export"
und "man bash", später wusste ich die Antwort :
-Für die konsolen (xterm etc) ist die ~/bashrc zuständig
-Die /etc/profile (bzw. ~/.bash_profile) beziehen sich nur
auf login-konsolen (Str-Alt-F2 bis F6 oder 'su -').
Diese Erklärungen habe ich nicht im Einzelfall überprüft, doch
funktionieren tut jetzt alles.

Weitere Details ergaben sich aus diesem Beitrag:
http://www.linuxforen.de/forums/showthread.php?threadid=83758

Das Zeichen '~' wird von Linux in den jeweiligen Home-Verzeichnis-
Namen des aktiven users umgesetzt, beim root und su also in /root
und beim user1 das Verzeichnis /home/user1. Aus Vereinfachungsgründen
wird diese Kurzform in den drei Beispielen beibehalten. Soll der PATH
um das Verzeichnis /usr/bin/scripte sowohl für root als auch user(1)
erweitert werden, müssen diese Anpassungen auch jeweils für deren
Verzeichnisse durchgeführt werden. Ob bei vielen eingerichteten usern
nun alle ~/.bash_profile angepasst werden müssen, mag jemand anderes
mal austesten. :ugly: Nach Aussagen aus den zitierten Beiträgen
müssten aber Änderungen in der /etc/profile ausreichen.

===============
~/.bash_profile [häufig NICHT VORHANDEN, ERSTELLEN]

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs
PATH=$PATH:/usr/bin/scripte

export PATH
unset USERNAME
======================


=======================
/etc/profile [VORHANDEN, die editierte Zeile ist unterstrichen]
...
# Make path more comfortable
#
if test -z "$PROFILEREAD" ; then
PATH=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/bin/scripte
for dir in $HOME/bin/$CPU $HOME/bin ; do
test -d $dir && PATH=$dir:$PATH
done
test "$UID" = 0 && PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
for dir in /var/lib/dosemu \
/usr/games \
/opt/bin \
/opt/gnome2/bin \
/opt/gnome/bin \
/opt/kde3/bin \
/opt/kde2/bin \
/opt/kde/bin \
/usr/openwin/bin \
/opt/cross/bin
do
test -d $dir && PATH=$PATH:$dir
done
unset dir
export PATH
...
=======================

=======================
~/.bashrc [meist VORHANDEN, als letzte Zeile ERGÄNZEN -->]
...
export PATH=$PATH:/usr/bin/scripte
=======================

Um gemäß obigem Beispiel zu überprüfen, ob die PATH-Erweiterung
funktioniert, ist im konsolen-Bereich jeweils nur der Befehl
'echo $PATH | grep scripte' einzugeben. Bei kde-Nutzung kann die
Überprüfung durch Alt+F2 und Eingabe/Starten eines Scriptnamens
aus /usr/bin/scripte erfolgen.

Damit diese Lösung gleich mit Leben gefüllt wird, empfehle ich
die Nutzung von taylors script-Vorschlag 'Konfigurationsdateien
ohne Kommentare ausgeben' http://www.linuxforen.de/forums/showthread.php?threadid=103190
mit dem aus aufgerufenen scripten und conf-Dateien alle Leer- und
Kommentarzeilen ausgefiltert werden und mit meiner Ergänzung 'less-
Pause' nach jeweils 23 Bildschirmzeilen pausieren (hoher! Nutzwert).
Eignet sich daher auch als cat-Ersatz für normale Textdateien. Hier
die script-Zeile mit dem sprechenden Namen /usr/bin/scripte/cat_pur
- die nur noch für alle user ausführbar gemacht werden muss
(Kopieren dieser Zeilen per kwrite und 'Speichern unter'; die user-
Rechte können bequem im konqueror gesetzt werden :p )

#!/bin/bash
egrep ^[^#] $1 | less

=====E N D .. O F .. D A T A==========

jamo
18.12.03, 21:03
Danke für Deinen Beitrag.
Für mich sehr hilfreich.

Jan