tf is a function tf () { echo this is ${0##*/} > /dev/null; echo a | cat - > /dev/null; test -f ${0##*/} && echo ${0##*/} is a regular file; test -d ${0##*/} || echo ${0##*/} is not a directory; echo a; echo b; echo c; echo background > /dev/null & ( exit 1 ); echo $?; { echo a }; i=0; while (( i < 3 )); do test -r /dev/fd/$i; i=$(( i + 1 )); done; [[ -r /dev/fd/0 && -w /dev/fd/1 ]] || echo oops > /dev/null; for name in $( echo 1 2 3 ); do test -r /dev/fd/$name; done; if [[ -r /dev/fd/0 && -w /dev/fd/1 ]]; then echo ok > /dev/null; else if (( 7 > 40 )); then echo oops; else echo done; fi; fi > /dev/null; case $PATH in *$PWD*) echo \$PWD in \$PATH ;; *) echo \$PWD not in \$PATH ;; esac > /dev/null; while false; do echo z; done > /dev/null; until true; do echo z; done > /dev/null; echo \&\|'()' \{ echo abcde \; \}; eval fu\%nc'()' \{ echo abcde \; \}; type fu\%nc } tf2 is a function tf2 () { ( { time -p echo a | cat - > /dev/null } ) 2>&1 } cprint.tests is a regular file cprint.tests is not a directory a b c 1 a &|() { echo abcde ; } fu%nc is a function fu%nc () { echo abcde }