4 ms·
One shell in that list that doesn't get the attention it deserves is execline - so much so that it isn't even in the Archlinux repo. Execline, unlike (probably
by goku12 3y ago
One shell in that list that doesn't get the attention it deserves is execline - so much so that it isn't even in the Archlinux repo. Execline, unlike (probably all) other shells, doesn't stay memory resident until the script finishes. It (execlineb) interprets the script and then execs into the first command. Exec means that execlineb is finished at that point. The rest of script proceeds by exec chaining and occasional forking. All the commands run with the same PID, except when forking. This sort of chaining is apparently called Bernstein chaining.
Execline has a very low memory footprint due to chaining - something that's probably important for embedded devices. And it theoretically has less vulnerabilities associated with shells. It is the primary scripting language of the S6 process supervision suite.