#!/usr/bin/env bash # Here is a comment do_a_thing produce | consume # here's a comment something # comment a=123 # comment # a different comment # that spans multiple lines if some_command; then # indented multi- # line comment do_something another_thing --foo --bar else do_something_else fi if [[ -e "/some/file" ]] || true; then foo elif ! ((1 == 0)); then bar baz else baz && quux || xyzzy & fi multi | line |& pipeline for thing in foo bar quux; do echo ${thing} rm -rf / done select thing in foo bar quux; do echo ${thing} break done for (( i=0; i < 10; i++ )); do echo ${i} done while true; do echo "Hello world!" done until true; do echo "Hello world!" done case "${foo}" in single) line --mode;; multi) line && mode ;;& bar|quux) xyzzy do_something | least_expected ;; *) exit 1 esac { here is { a; nested; compound; } } if { foo; }; then echo fi ( here is ( a; nested; subshell ) ) if ( foo; bar ); then echo fi { one; ( inside; the ); other; } ( one { inside the } other ) foo() { local x=1 x=2 bar quux || xyzzy } quux() { xyzzy; } export a b=1 c declare x=${foo} x=123 echo "${x:-something}" echo "${x/foo/bar}" ENV_VAR=123 ANOTHER=456 some_command cat <<-HEREDOC Here is a heredoc HEREDOC some_command >output /dev/null; then exit 1 fi { cat <(quux) export xyzzy=$( something another_thing --foo )