Good evening,
I was wondering if you could recommend certain shell-implementations.
Now, the reason why I'm asking is that I checked out some of them and
the according POSIX-specification[0] and wondered how much work it
would be to reimplement it and, of course, if there is any reason to do
so.
Busybox's ash-implementation[1] for instance "only" adds up to around
20k LOC. dash[2], a fully POSIX-compliant shell, has less than 10k LOC.
Reading the source code I discovered lots of cruft, but learned a lot
about how a shell works internally.
The main issue we are facing today are the bashisms in many
shell-scripts, which basically override POSIX-compliance.
However, I mostly face these issues with rotten code and utils for
software relying on auto*hell (hopeless).
For everything else, there's the useful program called
"checkbashisms"[3].
Now, what do you think? Is there any shell to recommend as suckless or
do you like the idea of implementing it as a new project?
Cheers
FRIGN
[0]:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18
[1]:
http://git.busybox.net/busybox/tree/shell/
[2]:
http://git.kernel.org/cgit/utils/dash/dash.git/tree/
[3]:
http://sourceforge.net/projects/checkbaskisms/
--
FRIGN <dev_AT_frign.de>
Received on Fri Apr 18 2014 - 21:08:47 CEST