Shellowa zagadka [mksh zamiast pdksh]

Arkadiusz Miskiewicz arekm at maven.pl
Fri May 6 14:33:08 CEST 2011


On Friday 06 of May 2011, Kacper Kornet wrote:
> On Thu, May 05, 2011 at 08:48:50PM +0200, Przemyslaw Iskra wrote:
> > On Thu, May 05, 2011 at 08:29:11PM +0200, Kacper Kornet wrote:
> > > Przy okazji wyjścia nowej wersji git'a trafiłem na następującą
> > > zagwozdkę na naszym /bin/sh. Otóż skrypt:
> > > 
> > > x=2; unset a; echo "${a:-'$x'}"
> > > 
> > > zwraca:
> > > 
> > > $x
> > > 
> > > Natomiast bash, zsh, dash i ash zwracają '2' w tym wypadku. Pytanie do
> > > znawców: co jest poprawne z punktu widzenia POSIX.
> > 
> > Nie opisane.
> > 
> > http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#
> > tag_02_06_02
> > 
> > 
> > If a parameter expansion occurs inside double-quotes:
> > 
> > * Pathname expansion shall not be performed on the results of the
> > expansion. * Field splitting shall not be performed on the results of
> > the
> > 
> >   expansion, with the exception of '@'
> 
> Googlanie wskazuje, że większość ludzi uważa, że pdksh się tu jednak
> myli. Np. mksh, które się mieni kontynuatorem pdksh 

Swoją drogą potrzeba nam kogoś kto doprowadzi paczkę mksh do stanu 
umożliwiającego zastąpienie pdksh tymże mksh.

-- 
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/


More information about the pld-devel-pl mailing list