Interesting bash aliases and functions:
https://github.com/Bash-it/bash-it: Community bash "framework"
Neat features
-v for testing set variables, while handling undefined ones
-v: True if the shell variable varname is set (has been assigned a value).
bash >=4.2 supports -v for testing for *set* variables while handling empty ones, also no specials needs when running under 'set -u':
also:
If you use bash, you should really use ]] instead of [ ]. It can do everything [ can (and then some, like ERE and glob matches), but is a shell keyword, which improves ergonomics quite a bit. See [ $x = 0 ] vs. [[ $x = 0 after unset x, for example.
Tools
Use shellcheck with timonwong.shellcheck plugin.
Use bash-language-server.