sens pdksh jako /bin/sh

Jakub Bogusz qboosh w pld-linux.org
Pią, 2 Kwi 2004, 10:33:14 CEST


On Fri, Apr 02, 2004 at 08:54:26AM +0200, Tomasz Pala wrote:
> Arkadiusz Miskiewicz napisał(a):
> >
> > Czy jest sens używania w AC jako /bin/sh pakietu pdksh? Pytam z prostej
> [...]
> 
> W takim układzie (niezgodność z POSIX, bugi), biorąc pod uwagę testy,
> które kiedyś tu były (zsh był tylko minimalnie wolniejszy od pdksh w
> skryptach, w przeciwieństwie do arcywolnego basha) oraz jego zgodność z
> POSIX...
> 
> > Propozycja jest zsh jako /bin/sh, mały fajny shell i co najważniejsze -
> 
> ...to ja jestem za.

Hm, zsh mały?

$ ls -l /bin/ksh /bin/bash /bin/zsh
-rwxr-xr-x    1 root     root       495708 Nov 11  2002 /bin/bash
-rwxr-xr-x    1 root     root       170908 Sep 18  2002 /bin/ksh
-rwxr-xr-x    1 root     root       449196 Apr  2 09:47 /bin/zsh

No tak, tylko niecałe 3 razu większy od ksh i aż o 10% mniejszy od
basha ;)
Do tego:

$ ldd /bin/ksh /bin/zsh
/bin/ksh:
        libc.so.6 => /lib/libc.so.6 (0x40036000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/bin/zsh:
        libiconv.so.2 => /usr/lib/libiconv.so.2 (0x40036000)
        libdl.so.2 => /lib/libdl.so.2 (0x4010e000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x40111000)
        libtinfo.so.5 => /lib/libtinfo.so.5 (0x40126000)
        libm.so.6 => /lib/libm.so.6 (0x4014d000)
        libc.so.6 => /lib/libc.so.6 (0x40170000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

(wrrr, a co ten iconv robi???)

Różnica w czasie budowania testowego pakietu (używającego autoconfa
i libtoola) poniżej 0.5s, więc w granicach błędu pomiaru.
Ale...

> W razie wyjścia jakiejś niezgodności w POSIX dość szybko byłby poprawiony.

nie wiem czy z POSIX, na pewno z rzeczami których używamy i działają.

+ mv 'po/{no,nb}.po'
mv: missing file argument
Try `mv --help' for more information.

albo standardowy fragment z konfiguracji libtoola:

checking whether the i686-pld-linux-gcc linker (/usr/bin/ld) supports shared libraries... grep: supported: No such file or directory
grep: targets:.*: No such file or directory
grep: elf: No such file or directory
no

tam jest "ld --help 2>&1 | egrep ': supported targets:.* elf'",
problemem jest /bin/egrep o zawartości:

#!/bin/sh
exec /bin/grep -E ${1+"$@"}


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



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