sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #00094
. .profile
Du spørger om der her er volapyk, svaret må så være: kun lidt !
>Hej
>
>Jeg er ifærd med at installere ORACLE på min linux.
>I den forbindelse skal der oprettes en oracle bruger med nogle specielle
>env-variabler (f.eks ORACLE_HOME) - når jeg fra oracle brugeren opretter
>disse ved
>
>export f.eks ORACLE_HOME=/u01/app/oracle/products/805; export ORACLE_HOME -
>
>så kan jeg læse tilføjelsen ved kommandoen
>
>env
Ja, disse environment variable defineres a la:
VARIABEL="goda_mand_okseskaft"
Og gemmes i hukommelsen som er tildelt den shell man kører, en sådan
environment variabel forsvinder, når man forlader sin shell, eller
starter en ny.
Hvis man vil have at en ny "subshell" startet fra den første shell skal
"arve" de environment variable man har defineret, skal man huske at
"eksportere" sine environment variable ved at udføre en
export VARIABEL
Det skal gøres for alle de variabler man vil "have med" til sin ny shell.
Alternativt kan man gøre som du har beskrevet, sørge for at variablene
bliver eksporteret når de defineres a la:
export VARIABEL="goda_mand_okseskaft"
>
>Men når jeg så prøver at gemme ved at kører filen profile ved kommandoen
>
>. .profile
Nej, problemet her er formodentlig at du har misforstået situationen.
.. .profile kommandoen gemmer ikke nogetsomhelst. !!!
.. .profile kommandoen vil "source" .profile, det vil sige at udføre
..profile som et script uden at starte en ny shell.
Det betyder at de environment variable der sættes i scriptet kan bruges
bagefter i den shell hvor du arbejder.
Benyttes der ikke <punktum><mellemrum> foran scriptets navn, vil scriptet
blive udført i en ny "subshell", og når den afsluttes, mistes alle de
environment variable der blev sat der, fordi environment variable ikke
kan arves "baglæns".
.. .profile betyder altså udfør ".profile" i den nyværende shell..
Hvis din PATH ikke indeholder . (nuværende katalog) kan din shell ikke
finde den og skriver til dig at den ikke kan finde kommandoen.
Det kan jo også være at du ikke HAR en .profile i det katalog hvor du
står når kommandoen udføres. Prøv i stedet:
.. ./.profile
Det vil med garanti udføre .profile i det katalog hvor du står, hvis der
da ER en .profile fil!
Men, grundlæggende skal du altså direkte redigere .profile filen, og
skrive dine variable ind i den på formen:
VARIABEL=blabla
VARIABEL2=noget_andet
ORACLE_HOME=/usr/oracle
og bagefter bruge den i din nuværende shell med kommandoen
.. ./.profile
>
>så kender den ikke kommandoen. Mit spørgsmål er - hvor finder jeg de data
>som kommer via kommandoen ENV, jeg har søgt på profile men kan ikke finde
>den som er bruger specifik.
Led efter .profile
Filer med . foran er "skjulte" filer i Unix, dog ikke mere end at de kan
ses med kommandoen ls -a (eller ls -la).
>
>Jeg har skiftet fra bash til sh - men uden resultat.
>
>er det her volapyk ????
Du trænger til at læse en bog om Unix grundlæggende, der er boganmeldelser
på http://www.sslug.dk :-)
Jens