On 18.01.01 Konrad Rosenbaum (konrad.rosenbaum@t-online.de) wrote:
Moin,
Besser Du schreibst das in .bashrc:
export BASHRC_RUN=1
und das in .profile:
test -z "$BASHRC_RUN" && . ~/.bashrc
Ich drösel das jetzt mal auf: Zuerst wird die profile gelesen. Dabei wird festgestellt, daß der String $BASHRC_RUN leer ist und also die ~/.bashrc ausgeführt, die dann den String $BASHRC_RUN auf ungleich 0 setzt und *exportiert*. Wenn ich im selben Terminal nochmal eine bash starte, übernimmt die den Wert von $BASHRC_RUN, der Test liefert einen Wert ungleich null und die ~/.bashrc wird *nicht* gelesen. Nun stehen da bei mir schöne Aliasersetzung, wie "alias rm='rm -i'" (autsch -- ja schon gut, nicht schlagen!), und die nur in der Shell gelten, in der sie aufgerufen wurden. Damit hast Du Dir IMHO in den Fuß geschossen. Warum testet man nicht einfach die Existenz der ~/.bashrc ab und läßt die grundsätzlich laufen? Bzw. die zweite Lösung wäre, die Varible nicht zu exportieren.
H.