4 ms·
Given the current glacial pace of bash development? The problem is that the only other 'standard' shell scripts can rely on is POSIX/Bourne, which is a bit ane
by mhd 12y ago
Given the current glacial pace of bash development?
The problem is that the only other 'standard' shell scripts can rely on is POSIX/Bourne, which is a bit anemic. Back in the days, this was the realm where the Korn shell was supposed to reign. And amongst commercial unices, it actually did help (the license of ksh88/93 prohibited widespread BSD/Linux use). But sadly most of the features that zsh/bash copied or invented themselves concern the UI, not programming capabilities.
I've seen some pretty big programs in ksh93 and it was half-way decent. Then again, quite often you shelled out to awk/grep/ed and had to fight their incompatibilities... I don't really miss those days.
On the other hand, sometimes I wish Linux scripters/programmers would be forced to use a slightly incompatible system now and then so that they don't assume that the whole world is GNU. I'm not misanthropic enough to say that said system should be IBM AIX, though.
- dozzie 12y ago> the only other 'standard' shell scripts can rely on is POSIX/Bourne Have you seen POSIX? Have you read Bourne shell documentation? I haven't. The former is expensive, the latter is not that easy to get. I have read Single UNIX Specification, though, which is available on-line. > But sadly most of the features that zsh/bash copied or invented themselves concern the UI, not programming capabilities. Shell is not intended for regular programming. It's intended for small automation scripts. If you need to write anything bigger, choosing shell over Perl, Python or Ruby is a fundamentally bad idea. BTDTGTT. And do you know how much of SUS-guaranteed shell syntax you use, anyway? Do you know what is a bashism and what is in the specification, so you can claim SUS-compliant shell has too weak language?
- clarry 12y ago> Have you seen POSIX? Have you read Bourne shell documentation? I haven't. The former is expensive, the latter is not that easy to get. I have read Single UNIX Specification, though, which is available on-line. What is the distinction you are trying to make? Single UNIX® Specification, Version 4, 2013 Edition Technically identical to IEEE Std 1003.1, 2013 Edition and ISO/IEC 9945:2009 including ISO/IEC 9945:2009/Cor 1:2013(E), with the addition of X/Open Curses. https://www2.opengroup.org/ogsys/catalog/t101 https://www2.opengroup.org/ogsys/catalog/t101 IEEE Std 1003.1 is also known as POSIX.1. You can read it online. It documents the shell command language. http://ddg.gg/?q=1003.1-2013 http://ddg.gg/?q=1003.1-2013 See also the POSIX FAQ: http://www.opengroup.org/austin/papers/posix_faq.html http://www.opengroup.org/austin/papers/posix_faq.html EDIT: Source to bourne shell's manual is here, http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/man/man1/sh.1 http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/man/man1... There's also a PDF version, look in volume 1: http://plan9.bell-labs.com/7thEdMan/bswv7.html http://plan9.bell-labs.com/7thEdMan/bswv7.html