My extremely short shell cheatsheet for things I do rarely enough to forget each time:
Process substitution:
bash: diff <(echo hello) <(echo world)
fish: diff (echo hello | psub) (echo world | psub)
Rsync directories:
rsync -a -v --dry-run other:dir/ dir/
Syncs the contents of dir (`/` needed)
Script exit handler:
bash:
function finish {
# exit handling code
}
trap finish EXIT # EXIT is special and works on normal exit as well as interrupts