/ 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
bash og aliases
Fra : Sonni Skammelsen


Dato : 12-09-02 18:23

Hej

Jeg sidder og roder lidt med debian og ville i den forbindelse oprette
nogle aliases i min ~/.bashrc til en række kommandoer, men det ser
ikke ud til den bliver læst, det virker i hvert fald ikke.
eks.
alias mkae=make
og dem som er der pr. default, eks.
alias ll='ls -l'
alias la='ls -A'
virker heller ikke.

Nogle der lige har et lille hint til hvad jeg har glemt. Kan da huske det
virkede fint både på solaris og hp-ux.

/Sonni



 
 
Claus Rasmussen (12-09-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 12-09-02 18:33

Sonni Skammelsen wrote:

> Jeg sidder og roder lidt med debian og ville i den forbindelse oprette
> nogle aliases i min ~/.bashrc til en række kommandoer, men det ser
> ikke ud til den bliver læst, det virker i hvert fald ikke.

Du skal sætte environment variable BASH_ENV til at pege på din .bashrc
fil. Det gør man typisk i ~/.bash_profile filen:

export BASH_ENV=$HOME/.bashrc

MVH
-Claus


Sonni Skammelsen (12-09-2002)
Kommentar
Fra : Sonni Skammelsen


Dato : 12-09-02 18:44


"Claus Rasmussen" <clr@cc-consult.dk> wrote in message
news:alqj3k$lno$1@sunsite.dk...
>
> Du skal sætte environment variable BASH_ENV til at pege på din .bashrc
> fil. Det gør man typisk i ~/.bash_profile filen:
>
> export BASH_ENV=$HOME/.bashrc
>
Takker, det hjalp jo

/Sonni



Claus Albøge (12-09-2002)
Kommentar
Fra : Claus Albøge


Dato : 12-09-02 18:57

"Sonni Skammelsen" <news@sonni.org> writes:

> "Claus Rasmussen" <clr@cc-consult.dk> wrote in message
> news:alqj3k$lno$1@sunsite.dk...
> >
> > Du skal sætte environment variable BASH_ENV til at pege på din .bashrc
> > fil. Det gør man typisk i ~/.bash_profile filen:
> >
> > export BASH_ENV=$HOME/.bashrc
> >
> Takker, det hjalp jo

Eller indkommentere flg. (i .bash_profile)

#if [ -f ~/.bashrc ]; then
# source ~/.bashrc
#fi


/Claus A


Claus Rasmussen (12-09-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 12-09-02 19:18

Claus Albøge wrote:

> Eller indkommentere flg. (i .bash_profile)
>
> #if [ -f ~/.bashrc ]; then
> # source ~/.bashrc
> #fi

Dur' ikke, da aliases slettes hver gang man starter en subshell. Og da
..bash_profile kun læses, når du logger ind, vil du kun have aliaserne
i den "yderste" shell, du har kørende.

-Claus


Claus Albøge (12-09-2002)
Kommentar
Fra : Claus Albøge


Dato : 12-09-02 20:10

Claus Rasmussen <clr@cc-consult.dk> writes:

> Claus Albøge wrote:
>
> > Eller indkommentere flg. (i .bash_profile)
> >
> > #if [ -f ~/.bashrc ]; then
> > # source ~/.bashrc
> > #fi
>
> Dur' ikke, da aliases slettes hver gang man starter en subshell. Og da
> .bash_profile kun læses, når du logger ind, vil du kun have aliaserne
> i den "yderste" shell, du har kørende.

Ja, og det så jo ud til at være der, OP manglede aliaserne.

På min box læses .bashrc når man starter en subshell. Om det så er
Debian specifikt skal jeg ikke kunne sige(?) - jeg bruger selv zsh.

% head -1 /etc/skel/.bash_profile
# ~/.bash_profile: executed by bash(1) for login shells.

% head -1 /etc/skel/.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.


/Claus A

Sonni Skammelsen (12-09-2002)
Kommentar
Fra : Sonni Skammelsen


Dato : 12-09-02 20:48


"Claus Albøge" <csa@csa-net.dk> wrote in message
news:20020912.211027215249500@csa-net.dk...
> Claus Rasmussen <clr@cc-consult.dk> writes:
>
> > Claus Albøge wrote:
> >
> > > Eller indkommentere flg. (i .bash_profile)
> > >
> > > #if [ -f ~/.bashrc ]; then
> > > # source ~/.bashrc
> > > #fi
> >
> > Dur' ikke, da aliases slettes hver gang man starter en subshell. Og da
> > .bash_profile kun læses, når du logger ind, vil du kun have aliaserne
> > i den "yderste" shell, du har kørende.
>
> Ja, og det så jo ud til at være der, OP manglede aliaserne.
>
> På min box læses .bashrc når man starter en subshell. Om det så er
> Debian specifikt skal jeg ikke kunne sige(?) - jeg bruger selv zsh.
>
> % head -1 /etc/skel/.bash_profile
> # ~/.bash_profile: executed by bash(1) for login shells.
>
> % head -1 /etc/skel/.bashrc
> # ~/.bashrc: executed by bash(1) for non-login shells.
>
Har lige prøvet at lave den løsning med at fjerne udkommenteringen
og det ser også ud til at virke i subshells. Medmindre subshells ikke er
hvad jeg tror det er

/Sonni



Claus Rasmussen (12-09-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 12-09-02 21:22

Sonni Skammelsen wrote:

> ... Medmindre subshells ikke er hvad jeg tror det er

Subshells er shells, du starter ved at skrive 'bash' i bash. Du får også
en subshell, hvis du hopper "ovenud" af et program. En ikke-subshell er
en shell, du får, når du logger ind, eller når du skriver 'bash --login'.

-Claus

Claus Rasmussen (12-09-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 12-09-02 21:20

Claus Albøge wrote:

> På min box læses .bashrc når man starter en subshell. Om det så er
> Debian specifikt skal jeg ikke kunne sige(?) - jeg bruger selv zsh.

Nu har jeg tjekket manualen og eksperimenteret lidt. Der sker følgende:

Ved en interaktiv login læser bash kun _.bash_profile_. Og uden det
udkommenterede stykke, du viste, eller BASH_ENV variablen vil .bashrc
altså ikke blive udført ved login. Det var det, der var OPs problem,
er vi altså enige om.

Ved en interaktiv subshell læser bash altid _.bashrc_. Dvs. at jeg
ikke havde forstået funktionen af BASH_ENV korrekt. Hvis OP havde
startet en subshell, havde han altså fået sine aliaser dér.

Ved en ikke-interaktiv subshell (f.eks i et script) læses _hverken_
..bash_profile eller .bashrc. Dog læses .bashrc, hvis BASH_ENV er sat.
Det sammme gælder, hvis man starter bash som 'sh'.

Det korrekte er altså, at "ind-kommentere" det stykke, du viste. Og
anvendelsen af BASH_ENV er i det hele taget en smule tvivlsom, da man
i shell-scripts normalt ikke bør basere sig på aliases.

-Claus


Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste