by tschumacher on 12/17/2023, 8:57:53 PM
It turns out the Bash manual groups the Bash specific features into its own chapter [1] and it's a short read and also there are not nearly as many Bash specific features as I thought.
[1] https://www.gnu.org/software/bash/manual/bash.html#Bash-Feat...
by dharmab on 12/18/2023, 1:19:15 AM
The three most important resources I've used:
- https://tldp.org/LDP/abs/html/
- https://mywiki.wooledge.org/BashGuide
- https://www.shellcheck.net/ (can tell you if there's a Bash-specific replacement for a POSIX mechanic)
I'll be reading this book over the break: https://fabiensanglard.net/bash/
by runjake on 12/18/2023, 4:08:06 PM
This may not explicitly meet your requirements, but I always find this site handy for quick reference:
https://learnxinyminutes.com/docs/bash/
It helpfully also links to the Bash manual:
https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash....
by 1vuio0pswjnm7 on 12/17/2023, 10:14:12 PM
Bash is slower. That's why a major Linux distribution would switch to NetBSD Almquist sh. On a Linux distribution, generally, bash is always found in the userland. But for scripting (non-interactive use), it's big and slow.
by NukedOne on 12/17/2023, 11:35:41 PM
You might find this useful:
by haltist on 12/17/2023, 8:49:55 PM
Learn Bash the Hard Way by Ian Miell
I've been programming POSIX shell for a while and know pretty much all of it (the spec isn't that long: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html). I mostly stayed away from Bash because of the "it runs everywhere" promise of POSIX but recently I've realized that most of the scripts I write will probably always run on machines with Bash installed anyways. I'm looking for a guide that explains Bash features specifically and doesn't go over the whole shell programming basics again. I know some features here and there, e.g. I know that Bash has arrays and a syntax to redirect the contents of a variable to a file, but I'm looking for a comprehensive list of what's possible. Are there any resources you can recommend?