| # |
| # a nonsense script and shell function to test out the command printing code |
| # |
| tf() |
| { |
| # simple command with redir |
| echo this is ${0##*/} > /dev/null |
| |
| # pipeline |
| 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 |
| elif (( 7 > 40 )) ; then |
| echo oops |
| else |
| echo done |
| 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 \; \} |
| # when not in POSIX mode, we can have weirdly-named functions |
| eval fu\%nc'()' \{ echo abcde \; \} |
| type fu\%nc |
| } |
| |
| tf2() |
| { |
| ( { time -p echo a | cat - > /dev/null ; } ) 2>&1 |
| } |
| |
| type tf |
| type tf2 |
| |
| tf |