Re: sh: command history problem

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Fri, 11 May 2007 17:17:47 +0200 (CEST)

hytronic(at)gmx.de wrote:
> also eine ".tcshrc" ist nicht vorhanden.

Dann sollte die Datei .cshrc auf jeden Fall berücksichtigt
werden, sofern der Inhalt korrekt ist.

> jedoch bleibt ein problem...
> ls mit farbe geht noch nicht.
> die einträge in ".shrc" und ".cshrc" mit CLICOLOR stimmen. der fehler
> muss also in einer anderen datei sein, die diese beiden aufrufen
> sollte. die standard aliases funktionieren nämlich nicht.

Wie bereits geschrieben, wird eine Datei namens ".shrc"
normalerweise gar nicht gelesen. Wie kommst Du auf den
Namen?

Ob der CLICOLOR-Eintrag korrekt ist, kann ich natürlich
nicht sagen, ohne ihn zu kennen.

> wie setze ich genau eine env variable auf meine ".shrc"?

Ich schrieb doch bereits, dass in der sh(1)-Manpage genau
für so einen Fall ein Beispiel drinsteht, nur dass sie
dort ».shinit« anstatt ».shrc« verwenden, aber das sollte
wohl kein Hindernis sein.

Kleiner Exkurs zum Thema Umgebungsvariablen ...

In der UNIX-Welt gibt es grundätzlich zwei Arten von
Shells: Die Bourne-Shells (sh, ksh, zsh, bash) und die
C-Shells (csh, tcsh). (Es gibt noch andere, aber das
sind lediglich Nischenprodukte, die nur selten verwendet
werden.)

Bei den Bourne-Shells setzt man eine Umgebungsvariable so:

      NAME="Inhalt"
      export NAME

Bei den meisten moderneren Varianten (inkl. der sh von
FreeBSD) kann man das zu einem Kommando zusammenfassen:

      export NAME="Inhalt"

(Wenn es die Umgebungsvariable bereits gibt, kann man das
»export« auch weglassen.)

Bei den C-Shells sieht das dagegen so aus (hier kommt
_kein_ Gleichheitszeichen!):

      setenv NAME "INHALT"

Wenn Du Kommandos in das Startskript für eine C-Shell
schreibst (z.B. .cshrc), dann musst Du Dich natürlich
an die Syntax für C-Shells halten, und das entsprechende
gilt für die Start-Skripte der Bourne-Shells (.profile
usw.).

Die aktuellen Werte aller Umgebungsvariablen kann man
sich mit dem Kommando "env" anzeigen lassen (geht mit
jeder Shell).

Das ist übrigens alles nicht FreeBSD-spezifisch und gilt
im Prinzip genauso auf jedem anderen UNIX (und ebenso
auch unter Linux).

Im übrigen empfehle ich, bei Problemen mal einen Blick
in die Manual-Page der jeweiligen Shell zu werfen.
Die gängigen Shells sind hervorragend dokumentiert und
haben recht ausführliche Manpages.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"What is this talk of 'release'?  We do not make software 'releases'.
Our software 'escapes', leaving a bloody trail of designers and quality
assurance people in its wake."
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 11 May 2007 - 17:19:07 CEST

search this site