Hallo, wenn ich unter KDE die Konsole starte, und dann auf die Root-Konsole umsteige, bekomme ich da die Bash in der "Rohfassung" d. h. ohne die individuellen Einstellungen (z. B. ~/profile). Soweit so gut, aber ich moechte jetzt nachtraeglich z. B. den PS1 aendern, Aliasse definieren usw. Wie mache ich das? Ich hab versucht, das mit einem Shellskript zu erledigen, was mir aber trotz dem durchforsten der man- und info-Seiten nicht gelang. Vielleicht kann mir da jemand weiterhelfen. Danke
Hallo Sebastian! Am Mon, 29 Jan 2001 schrieben Sie:
Hallo, wenn ich unter KDE die Konsole starte, und dann auf die Root-Konsole umsteige, bekomme ich da die Bash in der "Rohfassung" d. h. ohne die individuellen Einstellungen (z. B. ~/profile). Soweit so gut, aber ich moechte jetzt nachtraeglich z. B. den PS1 aendern, Aliasse definieren usw. Wie mache ich das? Ich hab versucht, das mit einem Shellskript zu erledigen, was mir aber trotz dem durchforsten der man- und info-Seiten nicht gelang. Vielleicht kann mir da jemand weiterhelfen.
Das steht eigentlich ganz gut erklärt im Bash-Prompt howto! Dominic
* Sebastian Huber schrieb am 29.Jan.2001:
wenn ich unter KDE die Konsole starte, und dann auf die Root-Konsole umsteige, bekomme ich da die Bash in der "Rohfassung" d. h. ohne die individuellen Einstellungen (z. B. ~/profile). Soweit so gut,
Das ~ steht für das Homeverzeichnis, und das ist bei root nun mal anders, nämlich /root. Selbstverständlich wird auch /root/profile gelesen, wenn es dann mal da ist. Normalerweise existiert es aber nicht, da man möglichst nicht als root arbeiten soll.
aber ich moechte jetzt nachtraeglich z. B. den PS1 aendern, Aliasse
Warum willst Du das? Es ist doch gut, wenn man erkennen kann, daß man root ist. Daher das #.
definieren usw. Wie mache ich das? Ich hab versucht, das mit einem Shellskript zu erledigen, was mir aber trotz dem durchforsten der man- und info-Seiten nicht gelang. Vielleicht kann mir da jemand weiterhelfen.
PS1 wird normalerweise in /etc/profile gesetzt. Allerdings würde ich da nichts ändern, wenn Du SuSE.config, daß z.B von yast aufgerufen wird benutzt, da es von diesem Programm wieder auf seinem Ursprungszustand gesetzt wird. Daher leg Dir ein /etc/profile.local an und ändere Dein PS1 wenn Du root bist. Wie das geht, kannst Du aus der Definition in /etc/profile ersehen. Ich würde aber auf jeden Fall das # am Ende lassen. Bernd -- Umsteiger von Microsoft Windows xx? Hast Du schon file://usr/doc/howto/de/DE-DOS-nach-Linux-HOWTO.txt gelesen? Auch file://usr/doc/Books/Linuxhandbuch.dvi ist zu empfehlen. |Zufallssignatur 1
On Mon, 29 Jan 2001, Dominic Paschke wrote:
Hallo Sebastian!
Am Mon, 29 Jan 2001 schrieben Sie:
Hallo, wenn ich unter KDE die Konsole starte, und dann auf die Root-Konsole umsteige, bekomme ich da die Bash in der "Rohfassung" d. h. ohne die individuellen Einstellungen (z. B. ~/profile). Soweit so gut, aber ich moechte jetzt nachtraeglich z. B. den PS1 aendern, Aliasse definieren usw. Wie mache ich das? Ich hab versucht, das mit einem Shellskript zu erledigen, was mir aber trotz dem durchforsten der man- und info-Seiten nicht gelang. Vielleicht kann mir da jemand weiterhelfen.
Das steht eigentlich ganz gut erklärt im Bash-Prompt howto! Gerne vergessen: willst du Shell-Variablen in Subshells haben, mußt du sie exportieren: PS1="PROMPT>" ; export PS1
-- may the tux be with You! Joerg Thuemmler sysadmin@vordruckleitverlag.de
Hallo, ich hab das Problem jetzt loesen koennen: Wenn man von einer Loginshell eine weitere Shell startet, werden nicht immer alle oder sogar keine Konfigurationsdateien (/etc/profile usw.) bearbeitet. Wenn man jetzt das wichtige Zeug in die ~/.bashrc schreibt (bei mir gab es die vorher gar nicht), klappt es. Servus PS: Weiss eigentlich jemand, fuer was das "etc" steht?
Hallo Sebastian, * Sebastian Huber wrote on 01 Feb 2001:
ich hab das Problem jetzt loesen koennen:
ich habe den Thread nicht verfolgt, aber
Wenn man von einer Loginshell eine weitere Shell startet, werden nicht immer alle oder sogar keine Konfigurationsdateien (/etc/profile usw.) bearbeitet.
Das ist normal. Die erste Shell ist eine Loginshell, die späteren nicht. Wenn du bash --login ausführst, dann ist es auch eine Login-Shell (siehe man bash).
Wenn man jetzt das wichtige Zeug in die ~/.bashrc schreibt (bei mir gab es die vorher gar nicht), klappt es.
und aus der .bashrc die ~/.bash_profile und /etc/profile einliest...
Weiss eigentlich jemand, fuer was das "etc" steht?
etcetera ? *g* Gruß, Sebastian -- "No worries." - Rincewind Sebastian Helms - mailto:sebastian@helms.sh (PGP available) SuSE-Linux-Mailinglisten-FAQ: http://www.ndh.net/home/s.helms/faq/
* Sebastian Huber schrieb am 01.Feb.2001:
PS: Weiss eigentlich jemand, fuer was das "etc" steht?
et cetera Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11
Hallo, On Thu, 01 Feb 2001 at 18:14 +0100, Bernd Brodesser wrote:
PS: Weiss eigentlich jemand, fuer was das "etc" steht?
et cetera
Ja schon, im allg. Sprachgebrauch. Aber er wird wahrscheinlich das Verzeichnis /etc/ meinen ... Würde ich eigentlich auch interessieren. Wenn es wirklich "et cetera" heißen sollte, woher kommt dann das? Gruß, Bernhard -- Bitte die Etikette der Liste beachten. Diese enthält nützliche Regeln für den Umgang mit der Liste. http://home.t-online.de/~f.walle/etikette.html ******************** Gnu PGP-Key: DDAF6454 * Tux# 171705 * ICQ# 98361051
On Thu, 01 Feb 2001, Bernhard Walle wrote:
[...] Ja schon, im allg. Sprachgebrauch. Aber er wird wahrscheinlich das Verzeichnis /etc/ meinen ... Würde ich eigentlich auch interessieren. Wenn es wirklich "et cetera" heißen sollte, woher kommt dann das?
Hallo Bernhard, ich gaub da hasst du meine Fragestellung genau erkannt. seb
Hallo Sebastian, * Sebastian Huber wrote on 01 Feb 2001:
On Thu, 01 Feb 2001, Bernhard Walle wrote:
[...] Ja schon, im allg. Sprachgebrauch. Aber er wird wahrscheinlich das Verzeichnis /etc/ meinen ... Würde ich eigentlich auch interessieren. Wenn es wirklich "et cetera" heißen sollte, woher kommt dann das?
Hallo Bernhard, ich gaub da hasst du meine Fragestellung genau erkannt.
Naja, es ist eben das Verzeichnis für alles , was woanders erstmal keine Platz hatte. (Konfigurationen "und so weiter...") Gruß, Sebastian -- "No worries." - Rincewind Sebastian Helms - mailto:sebastian@helms.sh (PGP available) SuSE-Linux-Mailinglisten-FAQ: http://www.ndh.net/home/s.helms/faq/
* Bernhard Walle schrieb am 01.Feb.2001:
On Thu, 01 Feb 2001 at 18:14 +0100, Bernd Brodesser wrote:
Weiss eigentlich jemand, fuer was das "etc" steht?
et cetera
Ja schon, im allg. Sprachgebrauch. Aber er wird wahrscheinlich das Verzeichnis /etc/ meinen ... Würde ich eigentlich auch interessieren. Wenn es wirklich "et cetera" heißen sollte, woher kommt dann das?
Ich bin mir nicht ganz sicher, aber ich glaube, daß es schon et cetera heißen soll. Früher [tm] War in /etc alles mögliche abgelegt, namentlich alles was auch heute noch in /etc steht, ist ja auch schon ein Sammelsurium und dazu noch das was in /sbin steht. Bernd -- Alle meine Signaturen sind rein zufällig und haben nichts mit dem Text oder dem Schreiber zu tun, dem ich antworte. Falls irgendwelche Unrichtigkeiten dabei sein sollten, so bedauere ich das. Es wäre nett, wenn Du mich benachrichtigen würdest. |Zufallssignatur 0
Hallo Sebastian, * Sebastian Huber schrieb am 01.Feb.2001:
ich hab das Problem jetzt loesen koennen: Wenn man von einer Loginshell eine weitere Shell startet, werden nicht immer alle oder sogar keine Konfigurationsdateien (/etc/profile usw.) bearbeitet. Wenn man jetzt das wichtige Zeug in die ~/.bashrc schreibt (bei mir gab es die vorher gar nicht), klappt es.
Nochmal um es klarzustellen. Es wird zwichen Loginshell und normaler interaktiver shell unterschieden. (Und einer nichtinteraktiven shell, ein shellskript. Aber darauf gehe ich hier nicht weiter ein, denn ein shellskript führt vorher gar keine andere Datei aus.) Eine Loginshell ist z.B eine shell die auf der Konsole aufgerufen wird, wenn man sich einloggt. Eine Loginshell führt zuerst /etc/profile aus, wenn diese Datei existiert. Existiert eine Datei ~/.bash_profile, so wird anschließend diese Datei ausgeführt. Existiert sie aber nicht, und nur dann und existiert darüber hinaus die Datei ~/.bash_login, so wird diese Datei danach ausgeführt. Existieren weder ~/.bash_profile noch ~/.bash_login, wohl aber die Datei ~/.profile, so wird diese ausgeführt. Es werden somit maximal zwei Dateien ausgeführt. /etc/profile und entweder ~/.bash_profile, oder ~/.bash_login oder ~/.profile. Ist die shell keine Loginshell, sondern einen normale interaktive shell, wie z.B. eine shell, die xterm oder ein sonstiges X-Terminal aufruft, so wird nur ~/.bashrc ausgeführt. Das ist die Ausgangssituation. Natürlich kann innerhalb eines solchen Skripts mittels source andere Skripte aufgerufen werden. SuSE regelt das so, daß in ihrem Standard- ~/.profile ~/.bashrc aufgerufen wird und in ihrer Standard- ~/.bashrc als erstes /etc/profile, falls noch nicht geschehen. Ob /etc/profile schon einmal aufgerufen wurde, wird an einer Variablen festgestellt, die in /etc/profile gesetzt wird. So ist gewärleistet, daß jede interaktive shell, egal ob Loginshell oder nicht, zuerst /etc/profile und dann ~/.bashrc aufruft. Außerdem wird am Ende von /etc/profile noch /etc/profile.local aufgerufen, falls es existiert. Das ist notwendig, weil SuSEconfig /etc/profile jedesmal auf seinen Ursprungszustand zurücksetzt. Daher sollten alles was Systemweit gelten soll in /etc/profile.local und alles was nur für einen User gelten soll in seiner ~/.bashrc gesetzt werden. Bernd
----- Original Message -----
From: Sebastian Huber
PS: Weiss eigentlich jemand, fuer was das "etc" steht?
etc heisst nichtcomputer-bezogen "et cetera" ... ist lateinisch und heisst "und so weiter"... und sonst habich auch keinen blassen dunst.... Gruss Florian Mickler
participants (7)
-
Bernd Brodesser
-
Bernhard Walle
-
dmkgoeslegal
-
Dominic Paschke
-
Joerg Thuemmler
-
Sebastian Helms
-
Sebastian Huber