zsh robi to inaczej z $0

Tomasz Pala gotar w polanet.pl
Nie, 11 Kwi 2004, 01:37:16 CEST


On Sun, Apr 11, 2004 at 01:10:31 +0200, Arkadiusz Miskiewicz wrote:

> > Nie wiem, jak je zepsułeś, u mnie działa dobrze.
> U ciebie jest w powyższych przypadkach w $0 ścieżka do skryptu?

Tak. W ten sam sposób interpretuje to tcsh, bash, ksh i zsh na Solarisie
oraz tcsh i bash na FreeBSD.

> > Dobrze.
> /etc/profile rozpoznaje który shell jest używany przez zrobienie:
> SH="${0#\-}"
> SH="${SH#/bin/}"

Zgadza się. To działa, gdyż profile jest plikiem konfiguracyjnym wołanym
BEZPOŚREDNIO przez shella.

> od zawsze to mi działało jeśli z palca wpisałem . /etc/profile. Teraz mi 

A nie powinno przy takiej 'detekcji'. Czy aby poprzednio nie miałeś
czegoś innego w /etc/profile, niż jest obecnie?

> mówisz, że to nie ma prawa działać - czyli coś się jednak zmieniło - pytanie 
> co?

Coś zostało naprawione;) (albo zepsuta detekcja - ja bym użył $SHELL,
pomysł używania $0 jest IMHO głupi i kiedyś zwróciło to moją uwagę, ale
nie dociekałem motywacji twórcy).

> > /bin/zsh ma być tylko wtedy, gdy wykonuje się jako część shella...
> A po polsku? Kiedy to się wykonuje jako coś innego niż ,,część shella''?

Gdy jest WCZYTYWANE (a nie uruchamiane!) jako konfiguracja.

> > Ty. Coś u siebie. SOA#1.
> Całe moje psucie ograniczyło się do aktualizacji poldkiem pakietów z ready.

To, że z palca nie działa - ok, tak jest w obecnej wersji (jeszcze raz:
czemu $0 a nie $SHELL!?). Ale to, że bash i ksh zwracają Ci złe wyniki,
to musi być wina Twojej konfiguracji; mam parę systemów, w których
defaulty nie są ruszane i zwracają one takie wyniki, jak podałem.

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



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