zsh robi to inaczej z $0

Arkadiusz Miskiewicz arekm w pld-linux.org
Nie, 11 Kwi 2004, 02:39:17 CEST


Dnia Sunday 11 of April 2004 01:37, Tomasz Pala napisał:
> 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.
To ciekawe. Na Debianie:
[arm w piast arm]$ cat test.sh
echo "[$0]"
[arm w piast arm]$ bash
[arm w piast arm]$ . ./test.sh
[bash]
[arm w piast arm]$ bash --version
GNU bash, version 2.05a.0(1)-release (i386-pc-linux-gnu)
Copyright 2001 Free Software Foundation, Inc.

Możesz wkleić tu swój sposób testowania z byle którego systemu?

> > > 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?
Nie. Nic nie było tam zmieniane. Zaraz poszukam przyczyny w liście pakietów 
które dziś zupgreadowałem.

>
> > 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).
SHELL obsysa bo .... nie działa.

$ echo $SHELL
/bin/zsh
$ ksh
$ echo $SHELL
/bin/zsh
$ bash
$ echo $SHELL
/bin/zsh
$

Użycie $0 powodowało, że nawet w takich przypadkach działało:
$ /bin/bash
$ echo $0
/bin/bash
$

> > > /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.
,,.'' wczytuje czy uruchamia?

> 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.
Debian (nie mój tak btw, uczelniany, up-to-date) też jest zły?

ps. masz jabbera?
-- 
Arkadiusz Miśkiewicz     CS at FoE, Wroclaw University of Technology
arekm.pld-linux.org, 1024/3DB19BBD, JID: arekm.jabber.org, PLD/Linux



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