Shell Anfängerfragen Shellvariablen

exitboy

Erfahrenes Mitglied
Hallo,

Benutzervariablen sind temporär, ok.

1. Globale Variablen können mit Export dauerhaft Global gemacht werden ... sollen sie zumindest.

Warum sind diese verloren, wenn ich auf dem X-Window eine Shell starte und dort:
z.B. eine Globale Variable anlege:

Code:
export TESTVAR="test"

2. Gleiches Problem wie bei 1, mit folgendem Code
Code:
export PS1="[\d \t] >"
ausführe.

3. Wie heißt der Fachbegriff für diese Shellabkürzungen \d \t usw. \# und \$ z.B. funktionieren bei SuSE 10.1 nicht ... obwohl diese doch klappen müssten. Wollte mich da gerne noch was reinlesen. Leider müsste ich dazu wissen, wie der Fachbegriff dazu heißt. In welchem File sind die hinterlegt?

4. Fish:// funktioniert bei mir nur im Konqueror. Jedoch nicht in der Konsole. Why?

THX
 
Zuletzt bearbeitet:
1. und 2.:
The shell shall give the export attribute to the variables corresponding to the specified names, which shall cause them to be in the environment of subsequently executed commands.

3.
Code:
# man bash
/PROMPTING <ENTER>

4.
Weil der Konqueror dieses Protokoll kennt, Deine Shell aber nicht (warum sollte sie auch?).
 
Zuletzt bearbeitet:
Als Ergaenzung zu Punkt 4:
Wenn Du in der Shell Dateien von/zu einem ueber SSH erreichbaren Rechner kopieren willst dann ist scp das Tool Deiner Wahl. Es gehoert zu SSH gleich dazu und duerfte wohl zum Standardumfang jeder Distribution gehoeren.
Hier mal 2 kurze Anwendungsbeispiele:
Remote zu lokal:
Code:
scp user@rechner:/remotepfad/remotedatei /lokalerpfad/lokaledatei
Lokal zu remote:
Code:
scp /lokalerpfad/lokaledatei user@rechner:/remotepfad/remotedatei

Der User kann unter Umstaenden natuerlich auch weggelassen werden, also wenn es den User mit dem Du aktuell arbeitest auch gibt.
 
Weiß nicht ob ich die Antwort 1 richtig verstanden habe, nur wenn ich in der Shell bin, welche die Grundshell ist, dann müsste er das doch ausführen. Habe ja keine weiteren Shells daraus gestartet.

Nur Frage ich mich dann, warum eine Exportfunktion, welche Vars. nicht nur temporär neu vergeben soll, dies nicht tut und die die Shell die scheinbaren Defaults vom System wieder läd.

2. war falsch und muss folgendes heißen:

Code:
PS1="[\d \t] >"

Ich habe mir jetzt einfach mal folgende Zeile
Code:
PS1="[\d \t] [\h: \w] >"
unter SuSE 10.1 in die /etc/profile.local geschrieben. Macht er aber auch nicht.
Hab das so verstanden gehabt, das export die Vars direkt mit in die profile übernimmt.

Na ja - das profile.local klappt auch nicht.
 
wenn ich aus X eine Shell neu aufrufe, also nicht die LoginShell nutze, wird keine Änderung übernommen. Hat diese eine andere "profile"?
 
Zurück