echo -ne in rc-scripts

Jakub Bogusz qboosh at pld-linux.org
Tue May 10 17:29:14 CEST 2011


On Tue, May 10, 2011 at 01:26:24PM +0200, Kacper Kornet wrote:
> Na branchu DEVEL jest najnowszy snap mksh, który sobie testuję jako
> zamiennik na /bin/sh z pdksh. Na razie nie napotkałem z tą wersją
> żadnych problemów. Ale przy okazji próbowałem wersji skompiloweanej tak,
> że:
> 
> "automatically set -o posix (mksh R39b+: set -o
> sh) to reduce functionality if called as sh or -sh"

To nie jest dobry pomysł, nie tylko ze względu na echo.
Nie wiem jak mksh, ale pdksh z -o posix wyłącza także rozwijanie
nawiasów klamrowych, przez co nie działają konstrukcje używane często
w specach (typu "mv sth{,.new}").

> No i tutaj jest problem. Bo w rc-scripts jest trochę wywołań typu 
> echo -ne, które nie są dość nie przenośne. Z drugiej strony, gdyby je
> zamienić na przenośne printf, to dla mksh jest to za każdym razem
> wywołanie zewnętrznego programu, a nie shellowa funckja. I w ogóle
> pytanie czy gra warta świeczki.

Niezbyt.
Dla porównania - IIRC to Debian przewidując możliwość użycia nie-basha
jako /bin/sh ma założenie, że obsługiwane jest przynajmniej "echo -n".

Taka ciekawostka na marginesie - sh z FreeBSD obsługuje -n LUB -e, ale
nie oba naraz :P
(domyślnie w przeciwieństwie do pdksh nie rozwija sekwencji z \ - co
o ile pamiętam nie jest zgodne z POSIX)


-- 
Jakub Bogusz    http://qboosh.pl/


More information about the pld-devel-pl mailing list