zsh robi to inaczej z $0

Tomasz Pala gotar w polanet.pl
Nie, 11 Kwi 2004, 15:36:31 CEST


On Sun, Apr 11, 2004 at 14:26:00 +0200, Arkadiusz Miskiewicz wrote:

> Dobra, czyli różnica pomiędzy zsh, a zsh -l jest taka, że ten pierwszy nie 
> czyta /etc/zprofile natomiast ten drugi czyta right?

Tak. Każdy shell interaktywny (a więc login shell w szczególności) czyta
shellrc (zshrc). Dodatkowo zsh czyta:
zlogin: start login shella
zlogout: koniec login shella
zshenv: każdy shell, nawet nieinteraktywny!

> Więc jaka jest różnica pomiędzy zsh -l, a moim ręcznym wklepaniem zsh + 
> dodatkowo wklepaniem . /etc/zprofile?

Pierwszy wariant jest atomowy, natomiast w drugim pomiędzy kolejnymi
uruchomieniami zmienia się wartość $0. Dopisz 'echo $0' na początku
/etc/zprofile to zobaczysz, o czym mówię:)

> Powinno dać taki sam rezultat jeśli 
> chodzi o czytanie /etc/zprofile tak (a tym samym /etc/profile oraz 
> rozpoznanie właściwego shella bazując na $0) ? ... a daje inny :/

Tylko wtedy, gdyby opcja nofunctionargzero była ustawiona (np. w zshrc,
zshenv czy po prostu z linii poleceń), to byłoby to samo. Ale że dla
pracy interaktywnej jest ona domyślnie włączona (bez niej mogą się
wykładać funkcje zsh), to rezultat się różni.

-- 
GoTaR <priv0.onet.pl->gotar>
http://vfmg.sourceforge.net/



Więcej informacji o liście dyskusyjnej pld-devel-pl