4 ms·
The POSIX commentary mentions the Korn shell ten times, including particular behavior of the 1988 ksh release. Bash is not mentioned. It is easier to understan
by chasil 3mo ago
The POSIX commentary mentions the Korn shell ten times, including particular behavior of the 1988 ksh release. Bash is not mentioned.
It is easier to understand the POSIX standard with a ksh focus, particularly ksh88.
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V...
- gaigalas 3mo agoI particularly like ksh93. It's a virtual machine, which makes it super fast for a lot of scenarios. The ksh family is my personal favorite, in particular mksh and ksh93. Both with excelent feature sets. I even made a platformer game that works on them https://github.com/alganet/tuish/blob/main/examples/game.sh https://github.com/alganet/tuish/blob/main/examples/game.sh (and zsh/bash/busybox too) to show how feature-complete they are. Shell interpreters are such a broad subject, I could go all day talking about cool things that can be done with them. I want to get people focusing less on the spec. It's for whoever implements interpreters, not people who write scripts. And there's a gap on that, which I'm trying to cover (with full ksh support, much more than you think).
- chasil 3mo agoThe big problem with ksh93 is that it is not maintained. After David Korn retired, an attempt was made to bring out a new version which failed dramatically, and AT&T reverted to Korn's final release. SmartOS uses ksh93 as root's shell.
- gaigalas 3mo agohttps://github.com/ksh93/ksh https://github.com/ksh93/ksh Last commit was 11 hours ago, still maintained.
- chasil 3mo agoThis has some information on the 2020 failure, but it is not what I remember reading. https://www.reddit.com/r/openbsd/comments/jvbj4s/a_new_approach_towards_reviving_ksh93_kornshell/ https://www.reddit.com/r/openbsd/comments/jvbj4s/a_new_appro... There were core performance problems in the 2020 effort.
- gaigalas 3mo agoksh2020 is `v-` based, the repo I mentioned is an `u+` fork with backports from the failed attempt. Most notably, it doesn't change the build system. It's what Debian and Fedora use, so AT&T doesn't matter anymore. Real-world upstream is the repo I linked, which is maintained. All the 2020 drama is now obsolete.