CHIP a ksh na bash

Michal Moskal malekith w pld-linux.org
Czw, 8 Maj 2003, 14:15:20 CEST


On Thu, May 08, 2003 at 02:11:17PM +0200, Adam Jurkiewicz wrote:
> Moi drodzy, zapytam się, ponieważ nie wiem : dlaczego zmiana z ksh na bash to 
> głupi pomysł ?
> 
> A oto dlaczego pytam. Jest sobie software. który ma skrypt wywołujący np.
> --- [tu początek skryptu] ---
> #!/bin/sh
> 
> PRG="$1"
> 
> if [ -z "${PRG}" ]
> then
>     if [ -x /usr/bin/sk ]; then
>         PRG="sk"
>     elif [ -x /usr/bin/ht ]; then
>         PRG="ht"
>     elif [ -x /usr/local/bin/sklep ]; then
>         PRG="sklep"
>     elif [ -x /usr/local/bin/css ]; then
>         PRG="css"
>     fi
> fi
> 
> ---[tu ciach, dalej mało ważne z mojego punktu widzenia]
> No i mam tak : jeśli sh -> ksh, to if się nie wykonuje,
> a jeśli sh -> bash, to if się wykonuje.

Wykonuje się jeśli nie ma pierwszego argumentu, lub jest on pusty.
Dokładnie tak samo jak w bashu. Czyli błąd masz gdzieś dalej.

> Man ksh oczywiście wykonałem, wyczytałem (może błędnie) że to bash + coś tam,
> ale if powinien się wykonać - ale się NIE WYKONUJE.
> Więc ja zmieniam ksh na bash i mam ok.
> A czy to źle ? I dlaczego jeśli tak ?

Masz skrypt nie zgodny ze specyfikacją shella, a buggy-again shell to
olewa.

-- 
: Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv
: PLD Linux ::::::::: Wroclaw University, CS Dept : {E-,w}-- {b++,e}>+++ h



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