/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
lidt bash-ting i en mac os x-kommando prom~
Fra : Martin Jørgensen


Dato : 23-12-05 17:56

Hej.

Jeg undrer mig lidt over flg. i min .profile-fil:

echo $PATH | grep -q -s "/usr/local/bin"
if [ $? -eq 1 ] ; then
PATH=$PATH:/usr/local/bin
export PATH

Jeg går udfra at $? -eq 1 har noget at gøre med hvad grep kommandoen
returnerer og den kører silent/quiet. Jeg tolker det sådan at hvis
"/usr/local/bin" er i path'en så returnerer den en eller anden værdi og
-eq betyder vist equal to? Jeg er lidt usikker på det...

Årsagen til at jeg overhovedet spørger, er at på mac os x har jeg i min
almindelige terminal følgende stående i path:

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/texlive/2005/bin/powerpc-darwin:/usr/local/bin

Det er også ganske fint, men xdvi vil ikke køre uden X11, så derfor
starter jeg min X11-terminal-prompt op og her ser path'en ud således:

MANPATH=/usr/man:/usr/X11R6/man (denne er ikke i den anden terminal -
hvorfor egentligt?)

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin

Det korte af det lange er nu, at jeg er helt blevet i tvivl om hvorfor
den ene terminal har en anden path, og der er ikke nogen .bash_rc fil.
Så jeg kunne selvfølgeligt lave en .bash_rc fil men jeg vil gerne gøre
det ordentligt så hvilken fil er det jeg skal rette i for at få min
X11-terminal til at indeholde

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/texlive/2005/bin/powerpc-darwin:/usr/local/bin
???

Og god jul, iøvrigt...


Med venlig hilsen / Best regards
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

 
 
Peter Makholm (23-12-2005)
Kommentar
Fra : Peter Makholm


Dato : 23-12-05 19:10

Martin Jørgensen <unoder.spam@spam.jay.net> writes:

> Jeg undrer mig lidt over flg. i min .profile-fil:
>
> echo $PATH | grep -q -s "/usr/local/bin"
> if [ $? -eq 1 ] ; then
> PATH=$PATH:/usr/local/bin
> export PATH
>
> Jeg går udfra at $? -eq 1 har noget at gøre med hvad grep kommandoen
> returnerer og den kører silent/quiet. Jeg tolker det sådan at hvis
> "/usr/local/bin" er i path'en så returnerer den en eller anden værdi
> og -eq betyder vist equal to? Jeg er lidt usikker på det...

$? er returværdien af den sidste kommando, altså grep. I manualen for
grep kan man se at den giver returværdien 0 hvis den finder en linje,
1 hvis den ikke gør og 2 ved en fejl. Ovenstående snippet sætter altså
/usr/local/bin ind sidst i PATH hvis der ikke står /usr/local/bin
noget sted i path.

> Årsagen til at jeg overhovedet spørger, er at på mac os x har jeg i
> min almindelige terminal følgende stående i path:
>
> PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/texlive/2005/bin/powerpc-darwin:/usr/local/bin
>
> Det er også ganske fint, men xdvi vil ikke køre uden X11, så derfor
> starter jeg min X11-terminal-prompt op og her ser path'en ud således:

Jeg har lige eksperimenteret lidt på min egen maskine og det ser ud
til at Terminal.app som standard kalder bash som en login-shell og
xterm kalder bash som en ikke-login-shell. De opstartsfiler bash
kalder afhænger af om den bliver kaldt som login-shelll eller ej. Læs
afsnittet INVOCATION i manualsiden.

--
Peter Makholm | I congratulate you. Happy goldfish bowl to you, to
peter@makholm.net | me, to everyone, and may each of you fry in hell
http://hacking.dk | forever
| -- The Dead Past

Martin Jørgensen (24-12-2005)
Kommentar
Fra : Martin Jørgensen


Dato : 24-12-05 13:18

Peter Makholm wrote:
-snip-

> Jeg har lige eksperimenteret lidt på min egen maskine og det ser ud
> til at Terminal.app som standard kalder bash som en login-shell og
> xterm kalder bash som en ikke-login-shell. De opstartsfiler bash

Hvordan fandt du ud af det?

> kalder afhænger af om den bliver kaldt som login-shelll eller ej. Læs
> afsnittet INVOCATION i manualsiden.

Øh, jeg har kigget lidt på det men hvad er forskellen på en
"login-shell" og en "ikke-login-shell"? I invocation-afsnittet står der
noget om en interaktiv shell vs. en non-interactive shell...

Jeg kan se at rækkefølgen er /etc/profile + ~/.bash_profile +
~/.bash_login + ~/.profile og de læses for *både* en interactive login
shell og som en non-interactive shell - men hvad i alverden betyder det
på dansk?

Jeg kan stadigt ikke se at hvis de læser de samme filer, så burde
path'en også være ens.


Med venlig hilsen / Best regards
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Ukendt (25-12-2005)
Kommentar
Fra : Ukendt


Dato : 25-12-05 22:26

Martin Jørgensen wrote:
>
> Øh, jeg har kigget lidt på det men hvad er forskellen på en
> "login-shell" og en "ikke-login-shell"? I invocation-afsnittet står der
> noget om en interaktiv shell vs. en non-interactive shell...

De shells, der snakkes om i den her tråd er interaktive.
(En ikke interaktiv shell er f.eks. en der afvikler et
script). En interaktiv shell kan være enten en login
shell eller en ikke login shell.

Der var engang man kunne regne med, at den første shell
i en session var en login shell, og alle andre der blev
startet i samme session ville ikke være login shells.

Så ting der kun skal sættes op én gang kunne man med
fordel gøre i sin login shell. Det gælder environment
variable som f.eks. PATH. Mens f.eks. aliaser, der er
lokale til en enkelt shell sættes op i hver enkelt shell.

Desværre kan man nu til dags logge ind i et grafisk
miljø og køre en shell uden der på noget tidspunkt har
været en login shell. Dermed får man ikke opsætningen
med.

En kommando som den i eksemplet, der checker om et
directory allerede er indsat i PATH og kun indsætter det,
hvis det mangler, sker der ikke stor skade ved at køre i
hver eneste shell login eller ej.

Man skal dog være opmærksom på konsekvensen hvis man
midlertidigt sætter en anden PATH og så afvikler et
script, som kører din rc fil.

>
> Jeg kan se at rækkefølgen er /etc/profile + ~/.bash_profile +
> ~/.bash_login + ~/.profile og de læses for *både* en interactive login
> shell og som en non-interactive shell - men hvad i alverden betyder det
> på dansk?

Jeg har vist forklaret forskellen på en interaktiv og en
ikke interaktiv shell. Listen af filnavne du giver gælder
kun for login shells. For en ikke login shell bruger den
~/.bashrc.

--
Kasper Dupont
Note to self: Don't try to allocate
256000 pages with GFP_KERNEL on x86.

Martin Jørgensen (26-12-2005)
Kommentar
Fra : Martin Jørgensen


Dato : 26-12-05 00:40

Kasper Dupont wrote:
> Martin Jørgensen wrote:
>
>>Øh, jeg har kigget lidt på det men hvad er forskellen på en
>>"login-shell" og en "ikke-login-shell"? I invocation-afsnittet står der
>>noget om en interaktiv shell vs. en non-interactive shell...
>
>
> De shells, der snakkes om i den her tråd er interaktive.
> (En ikke interaktiv shell er f.eks. en der afvikler et
> script). En interaktiv shell kan være enten en login
> shell eller en ikke login shell.

Jeg skal lige have det på det rene: Forskellen er ikke blot om den
spørger om login og password?

Hvordan ved jeg om jeg kører en login-shell eller ej, (fordi jeg tror i
det ene tilfælde kører jeg en login-shell men ikke i det andet (man må
kunne skrive en eller anden kommando)?

-snip-
> Desværre kan man nu til dags logge ind i et grafisk
> miljø og køre en shell uden der på noget tidspunkt har
> været en login shell. Dermed får man ikke opsætningen
> med.

Altså, opsætningen fra /etc/profile og /etc/bashrc eller hvilke filer
taler vi om?

Jeg fandt noget lignende det du skriver på
http://learnlinux.tsf.org.za/courses/build/shell-scripting/ch02s02.html
men jeg syntes nu ikke det står så tydeligt.

Altså, mit problem: Min "almindelige" shell har den path som er i
/etc/profile. Mit gæt: Derfor er det en login-shell, korrekt?

Min X11-bash-shell har ikke den path der er i /etc/profile. Derfor er
det ikke en login-shell, korrekt?


Min /etc/bashrc ser således ud:
------
# System-wide .bashrc file for interactive bash(1) shells.
if [ -n "$PS1" ]; then PS1='\h:\w \u\$ '; fi
# Make bash check it's window size after a process completes
shopt -s checkwinsize
------
Jeg kan ikke se at ovenstående er nødvendigt - hvorfor ser den mon
overhovedet sådan ud og hvad checker den for?

> En kommando som den i eksemplet, der checker om et
> directory allerede er indsat i PATH og kun indsætter det,
> hvis det mangler, sker der ikke stor skade ved at køre i
> hver eneste shell login eller ej.
>
> Man skal dog være opmærksom på konsekvensen hvis man
> midlertidigt sætter en anden PATH og så afvikler et
> script, som kører din rc fil.

Klart. Øøh, og dette er relevant for en ikke-login-shell som ikke læser
/etc-filerne, men kun ~/.profile og ~/.bashrc, korrekt?

-snip-

giver gælder
> kun for login shells. For en ikke login shell bruger den
> ~/.bashrc.

Jeg får:

$ cat ~/.bash_rc
cat: /Users/mac/.bash_rc: No such file or directory


Med venlig hilsen / Best regards
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Ukendt (26-12-2005)
Kommentar
Fra : Ukendt


Dato : 26-12-05 13:36

Martin Jørgensen wrote:
>
> Jeg skal lige have det på det rene: Forskellen er ikke blot om den
> spørger om login og password?

Nej. En shell spørger ikke om login og password. Når du
logger ind via en tekst konsol eller via telnet køres
login programmet, som spørger om den slags. Når det har
verificeret brugernavn og password skifter det UID og
starter derefter en login shell. Men man kan til enhver
tid selv starte en login shell (hvis man skulle have
den slags lyster).

>
> Hvordan ved jeg om jeg kører en login-shell eller ej, (fordi jeg tror i
> det ene tilfælde kører jeg en login-shell men ikke i det andet (man må
> kunne skrive en eller anden kommando)?

Hvis du bruger bash er det nemmeste nok at skrive
"shopt login_shell". (Man kan bruge shopt uden
parametre for at se flere interessante indstillinger).

>
> -snip-
> > Desværre kan man nu til dags logge ind i et grafisk
> > miljø og køre en shell uden der på noget tidspunkt har
> > været en login shell. Dermed får man ikke opsætningen
> > med.
>
> Altså, opsætningen fra /etc/profile og /etc/bashrc eller hvilke filer
> taler vi om?

/etc/profile afvikles i login shells. Så vidt jeg
husker afvikles /etc/profile før ~/.bash_profile.

/etc/bashrc er noget som nogle distributører har fundet
på (Red Hat?), den vil bash aldrig køre af sig selv.
Men du har sikkert en ~/.bashrc, der kalder /etc/bashrc.

>
> Altså, mit problem: Min "almindelige" shell har den path som er i
> /etc/profile. Mit gæt: Derfor er det en login-shell, korrekt?

Eller også er det omvendt. Den har PATH fra /etc/profile fordi
det er en login shell.

>
> Min X11-bash-shell har ikke den path der er i /etc/profile. Derfor er
> det ikke en login-shell, korrekt?

Igen, du bytter om på årsag og virkning.

>
> Min /etc/bashrc ser således ud:
> ------
> # System-wide .bashrc file for interactive bash(1) shells.
> if [ -n "$PS1" ]; then PS1='\h:\w \u\$ '; fi
> # Make bash check it's window size after a process completes
> shopt -s checkwinsize
> ------
> Jeg kan ikke se at ovenstående er nødvendigt - hvorfor ser den mon
> overhovedet sådan ud og hvad checker den for?

Den ser fornuftig nok ud. Men det er slet ikke
/etc/bashrc, der er interessant.

>
> Klart. Øøh, og dette er relevant for en ikke-login-shell som ikke læser
> /etc-filerne, men kun ~/.profile og ~/.bashrc, korrekt?

Jeg har ikke selv nogen ~/.profile. Men er det ikke en
som bash kun bruger, hvis den ikke kan finde en
~/.bash_profile?

>
> -snip-
>
> giver gælder
> > kun for login shells. For en ikke login shell bruger den
> > ~/.bashrc.
>
> Jeg får:
>
> $ cat ~/.bash_rc
> cat: /Users/mac/.bash_rc: No such file or directory

Det kan være det ville hjælpe, hvis du stavede det
rigtigt.

--
Kasper Dupont
Note to self: Don't try to allocate
256000 pages with GFP_KERNEL on x86.

Martin Jørgensen (26-12-2005)
Kommentar
Fra : Martin Jørgensen


Dato : 26-12-05 20:29

Kasper Dupont wrote:
> Martin Jørgensen wrote:
-snip-

> Hvis du bruger bash er det nemmeste nok at skrive
> "shopt login_shell". (Man kan bruge shopt uden
> parametre for at se flere interessante indstillinger).

Takker - det var en god kommando til "afmystificering".
-snip-

> /etc/bashrc er noget som nogle distributører har fundet
> på (Red Hat?), den vil bash aldrig køre af sig selv.
> Men du har sikkert en ~/.bashrc, der kalder /etc/bashrc.

/etc/bashrc er også på min mac os x og bash kører den. Hvordan jeg ved
det? Nu har jeg indsat "echo dette er ???-fil", så jeg kan se hvad der
sker

Men det er faktisk underligt... Efter lidt eksperimenteren har jeg
fundet ud af at den aldrig kører ~/.bashrc - Andre med mac os x, som
lige vil bekræfte?

>>Altså, mit problem: Min "almindelige" shell har den path som er i
>>/etc/profile. Mit gæt: Derfor er det en login-shell, korrekt?
>
>
> Eller også er det omvendt. Den har PATH fra /etc/profile fordi
> det er en login shell.

Jep, det kan jeg se nu

>>Min X11-bash-shell har ikke den path der er i /etc/profile. Derfor er
>>det ikke en login-shell, korrekt?
>
>
> Igen, du bytter om på årsag og virkning.

Jep, ok.

>>Min /etc/bashrc ser således ud:
>>------
>># System-wide .bashrc file for interactive bash(1) shells.
>>if [ -n "$PS1" ]; then PS1='\h:\w \u\$ '; fi
>># Make bash check it's window size after a process completes
>>shopt -s checkwinsize
>>------
>>Jeg kan ikke se at ovenstående er nødvendigt - hvorfor ser den mon
>>overhovedet sådan ud og hvad checker den for?
>
>
> Den ser fornuftig nok ud. Men det er slet ikke
> /etc/bashrc, der er interessant.

Nej, det ved jeg godt. Det var bare et "side-spørgsmål".

>>Klart. Øøh, og dette er relevant for en ikke-login-shell som ikke læser
>>/etc-filerne, men kun ~/.profile og ~/.bashrc, korrekt?
>
>
> Jeg har ikke selv nogen ~/.profile. Men er det ikke en
> som bash kun bruger, hvis den ikke kan finde en
> ~/.bash_profile?

Jeg har eksperimenteret lidt igen og fundet ud af at under alle
omstændigheder køres begge filerne i /etc (profile og bashrc). Hvis
~/.bash_profile eksisterer køres den og ellers sker der intet yderligere.

Hvis jeg laver en ~/.profile, sker der intet...

>>giver gælder
>>
>>>kun for login shells. For en ikke login shell bruger den
>>>~/.bashrc.
>>
>>Jeg får:
>>
>>$ cat ~/.bash_rc
>>cat: /Users/mac/.bash_rc: No such file or directory
>
>
> Det kan være det ville hjælpe, hvis du stavede det
> rigtigt.

Hehe. Ja, det kunne være. Men den var der nu ikke og når jeg opretter
den, bliver den ikke kørt...


Med venlig hilsen / Best regards
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Ukendt (26-12-2005)
Kommentar
Fra : Ukendt


Dato : 26-12-05 22:20

Martin Jørgensen wrote:
>
> Men det er faktisk underligt... Efter lidt eksperimenteren har jeg
> fundet ud af at den aldrig kører ~/.bashrc

Det lyder lidt underligt. Kører den heller ikke
~/.bashrc, hvis du skriver bash på kommandolinien?

--
Kasper Dupont
Note to self: Don't try to allocate
256000 pages with GFP_KERNEL on x86.

Martin Jørgensen (27-12-2005)
Kommentar
Fra : Martin Jørgensen


Dato : 27-12-05 23:00

Kasper Dupont wrote:
> Martin Jørgensen wrote:
>
>>Men det er faktisk underligt... Efter lidt eksperimenteren har jeg
>>fundet ud af at den aldrig kører ~/.bashrc
>
>
> Det lyder lidt underligt. Kører den heller ikke
> ~/.bashrc, hvis du skriver bash på kommandolinien?

Jo, men kun der. Dvs. for min alm. terminal, som er en login-shell kører
den ikke ~/.bashrc når jeg starter den ved at klikke på ikonet i
Applications...

Men jeg har fundet ud af at min X11-login-shell-terminal kører den når
jeg starter den op (kliker på X11-ikonet i Applications/utilites svjh)...


Med venlig hilsen / Best regards
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Peter Makholm (26-12-2005)
Kommentar
Fra : Peter Makholm


Dato : 26-12-05 11:01

Martin Jørgensen <unoder.spam@spam.jay.net> writes:

> Peter Makholm wrote:
> -snip-
>
>> Jeg har lige eksperimenteret lidt på min egen maskine og det ser ud
>> til at Terminal.app som standard kalder bash som en login-shell og
>> xterm kalder bash som en ikke-login-shell. De opstartsfiler bash
>
> Hvordan fandt du ud af det?

Jeg kender forskellen på de to måder at at starte en shell på og så
indsætter jeg

INVOCATION=.bashrc

i min .bashrc og følgende i min .bash_profile:

INVOCATION=.bash_profile

På den måde kan jeg let se det.

>> kalder afhænger af om den bliver kaldt som login-shelll eller ej. Læs
>> afsnittet INVOCATION i manualsiden.
>
> Øh, jeg har kigget lidt på det men hvad er forskellen på en
> "login-shell" og en "ikke-login-shell"? I invocation-afsnittet står
> der noget om en interaktiv shell vs. en non-interactive shell...

Som Kasper siger så er en interaktiv shell en du sidder og skriver i
og en ikke-interaktiv shell er en der bare udføre et script. Da
begrebet login-shell er blevet noget udvandet så skelner jeg sjældent
mellem dem og bare har følgende linje i min .bash_profile:

. /home/brother/.bashrc

Ting der så kun må ske en gang, som for eksempel at tilføje noget til
PATH, kan man så beskytte på forskellige måder. Det kan enten være med
den snippet du begyndte med eller noget ala:

if [ ! "$MYSETUP" == "ok" ] ; then
PATH=$HOME/bin:$PATH

# ... mere opsætning ...

MYSETUP=ok
export MYSETUP
fi


> Jeg kan se at rækkefølgen er /etc/profile + ~/.bash_profile +
> ~/.bash_login + ~/.profile og de læses for *både* en interactive login
> shell og som en non-interactive shell - men hvad i alverden betyder
> det på dansk?

Nej, en login-shelle læser /etc/profile og den *første* den finde af
~/.bash_profile, ~/.bash_login eller ~/.profile.

En ikke-login-shell læser ~/.bashrc.

> Jeg kan stadigt ikke se at hvis de læser de samme filer, så burde
> path'en også være ens.

Men det gør den ikke.


Iøvrigt kan du i preferences for Terminal.app vælge om den skal starte
din brugers standard-shell som login-shell eller om den skal starte en
anden kommando. Man kan også sætte xterm op til at starte en shell som
login-shell.

--
Peter Makholm | Perhaps that late-night surfing is not such a
peter@makholm.net | waste of time after all: it is just the web
http://hacking.dk | dreaming
| -- Tim Berners-Lee

Martin Jørgensen (26-12-2005)
Kommentar
Fra : Martin Jørgensen


Dato : 26-12-05 21:04

Peter Makholm wrote:
-snip-

> MYSETUP=ok
> export MYSETUP
> fi

Ok, glimrende.

>>Jeg kan se at rækkefølgen er /etc/profile + ~/.bash_profile +
>>~/.bash_login + ~/.profile og de læses for *både* en interactive login
>>shell og som en non-interactive shell - men hvad i alverden betyder
>>det på dansk?
>
>
> Nej, en login-shelle læser /etc/profile og den *første* den finde af
> ~/.bash_profile, ~/.bash_login eller ~/.profile.
>
> En ikke-login-shell læser ~/.bashrc.

Mange tak for det! Det tror jeg passer med mine "eksperimenter", men jeg
brugte desværre kun en login_shell da jeg eksperimenterede før

>>Jeg kan stadigt ikke se at hvis de læser de samme filer, så burde
>>path'en også være ens.
>
>
> Men det gør den ikke.
>
>
> Iøvrigt kan du i preferences for Terminal.app vælge om den skal starte
> din brugers standard-shell som login-shell eller om den skal starte en
> anden kommando. Man kan også sætte xterm op til at starte en shell som
> login-shell.

Ja, jeg har kigget lidt på det men jeg tror jeg lader det være som det
er, bortset fra at jeg bare lige skal have min ikke-login-shell (X11)
til at få samme path som med min login_shell og til det formål har jeg
tilføjet flg. til min .bashrc - kommentarer ønskes:

echo $PATH | grep -q -s "/usr/local/texlive/2005/bin/powerpc-darwin"
if [ $? -eq 1 ] ; then
PATH=$PATH:/usr/local/texlive/2005/bin/powerpc-darwin
export PATH
fi

Det ser ud til at virke efter hensigten...


Med venlig hilsen / Best regards
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Ukendt (26-12-2005)
Kommentar
Fra : Ukendt


Dato : 26-12-05 13:45

Peter Makholm wrote:
>
> Da begrebet login-shell er blevet noget udvandet

Det er også en måde at sige det på.

>
> Ting der så kun må ske en gang, som for eksempel at tilføje noget til
> PATH, kan man så beskytte på forskellige måder. Det kan enten være med
> den snippet du begyndte med eller noget ala:

Jeg har gjort følgende i min /etc/profile:
export LAST_PROFILE_UID=$UID

Og så lader jeg /etc/bashrc kigge på den for at
undersøge om det er nødvendigt at source
/etc/profile.

Jeg ved ikke lige om det er den bedste løsning.
Men jeg synes det fungerer bedre end det rod som
Red Hat laver som default. Men de er også nået
derud, hvor de insisterer på at beholde fejl i
/etc/bashrc fordi sådan har det altid været.

>
> Nej, en login-shelle læser /etc/profile

Den læses vel også af andre shells. Kan det
egentlig lade sig gøre at lave en bash specifik
profile fil?

--
Kasper Dupont
Note to self: Don't try to allocate
256000 pages with GFP_KERNEL on x86.

Klaus Ellegaard (26-12-2005)
Kommentar
Fra : Klaus Ellegaard


Dato : 26-12-05 13:51

Kasper Dupont <81717636006328244474@expires.06.feb.2006.kasperd.net.invalid> writes:

>Den læses vel også af andre shells. Kan det
>egentlig lade sig gøre at lave en bash specifik
>profile fil?

"case $0 in ...."

Mvh.
   Klaus.

N/A (26-12-2005)
Kommentar
Fra : N/A


Dato : 26-12-05 13:51



Arne Jørgensen (26-12-2005)
Kommentar
Fra : Arne Jørgensen


Dato : 26-12-05 23:14

Martin Jørgensen <unoder.spam@spam.jay.net> skriver:

> echo $PATH | grep -q -s "/usr/local/texlive/2005/bin/powerpc-darwin"
> if [ $? -eq 1 ] ; then
> PATH=$PATH:/usr/local/texlive/2005/bin/powerpc-darwin
> export PATH
> fi

Til den slags har zsh den nyttige:

export -U PATH=$PATH:/usr/local/texlive/2005/bin/powerpc-darwin

Fra zshall(1):

-U For arrays (but not for associative arrays), keep only
the first occurrence of each duplicated value. This may
also be set for colon-separated special parameters like
PATH or FIGNORE, etc. This flag has a different meaning
when used with -f; see below.


mvh
/arne
--
Arne Jørgensen <http://arnested.dk/>

Martin Jørgensen (27-12-2005)
Kommentar
Fra : Martin Jørgensen


Dato : 27-12-05 23:00

Arne Jørgensen wrote:
> Martin Jørgensen <unoder.spam@spam.jay.net> skriver:
>
>
>>echo $PATH | grep -q -s "/usr/local/texlive/2005/bin/powerpc-darwin"
>> if [ $? -eq 1 ] ; then
>> PATH=$PATH:/usr/local/texlive/2005/bin/powerpc-darwin
>> export PATH
>> fi
>
>
> Til den slags har zsh den nyttige:
>
> export -U PATH=$PATH:/usr/local/texlive/2005/bin/powerpc-darwin

Ok, tak. Men hvad er zsh?

Og på hvilken måde er det smartere end den anden løsning?


Med venlig hilsen / Best regards
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Thorbjørn Ravn Ander~ (28-12-2005)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 28-12-05 09:54

Martin Jørgensen <unoder.spam@spam.jay.net> writes:

> Ok, tak. Men hvad er zsh?

Ved du hvad Google er for noget?
--
Thorbjørn Ravn Andersen

Martin Jørgensen (28-12-2005)
Kommentar
Fra : Martin Jørgensen


Dato : 28-12-05 10:42

Thorbjørn Ravn Andersen wrote:
> Martin Jørgensen <unoder.spam@spam.jay.net> writes:
>
>
>>Ok, tak. Men hvad er zsh?
>
>
> Ved du hvad Google er for noget?

Gå væk, troll! Der blev spurgt om på hvilken måde den løsning er
smartere end den anden løsning og vi snakker om en bash-shell.


Med venlig hilsen / Best regards
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Arne Jørgensen (30-12-2005)
Kommentar
Fra : Arne Jørgensen


Dato : 30-12-05 16:12

Martin Jørgensen <unoder.spam@spam.jay.net> skriver:

> Ok, tak. Men hvad er zsh?

Det er et alternativ til bash.

> Og på hvilken måde er det smartere end den anden løsning?

Shells til interaktiv brug er et spørgsmål om smag, behag og
temperament.

mvh
/arne
--
Arne Jørgensen <http://arnested.dk/>

N/A (27-12-2005)
Kommentar
Fra : N/A


Dato : 27-12-05 23:00



N/A (27-12-2005)
Kommentar
Fra : N/A


Dato : 27-12-05 23:00



Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408803
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste