Shellowa zagadka [mksh zamiast pdksh]

Kacper Kornet kornet at camk.edu.pl
Fri May 6 17:48:00 CEST 2011


On Fri, May 06, 2011 at 02:33:08PM +0200, Arkadiusz Miskiewicz wrote:
> 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.

Na moim qemu skrypty startowe działałają z jednym wyjątkiem. Ale właśnie
koresponduję z ludźmi z mksh, że już to poprawili. Muszę tylko wyłowić
odpowiedni fix z ich CVSA.  Tyle, że to moje qemu, to dość minimalna
instalacja.
-- 
  Kacper Kornet


More information about the pld-devel-pl mailing list