1# 2# a nonsense script and shell function to test out the command printing code 3# 4tf() 5{ 6 # simple command with redir 7 echo this is ${0##*/} > /dev/null 8 9 # pipeline 10 echo a | cat - > /dev/null 11 12 test -f ${0##*/} && echo ${0##*/} is a regular file 13 test -d ${0##*/} || echo ${0##*/} is not a directory 14 15 echo a ; echo b ; echo c 16 17 echo background >/dev/null & 18 19 ( exit 1 ) 20 echo $? 21 22 { echo a ; } 23 24 i=0 25 while (( i < 3 )); do 26 test -r /dev/fd/$i 27 i=$(( i + 1 )) 28 done 29 30 [[ -r /dev/fd/0 && -w /dev/fd/1 ]] || echo oops > /dev/null 31 32 for name in $( echo 1 2 3 ); do 33 test -r /dev/fd/$name 34 done 35 36 if [[ -r /dev/fd/0 && -w /dev/fd/1 ]] ; then 37 echo ok > /dev/null 38 elif (( 7 > 40 )) ; then 39 echo oops 40 else 41 echo done 42 fi > /dev/null 43 44 case $PATH in 45 *$PWD*) echo \$PWD in \$PATH ;; 46 *) echo \$PWD not in \$PATH ;; 47 esac > /dev/null 48 49 while false; do echo z; done > /dev/null 50 51 until true; do echo z ; done > /dev/null 52 53 echo \&\|'()' \{ echo abcde \; \} 54 # when not in POSIX mode, we can have weirdly-named functions 55 eval fu\%nc'()' \{ echo abcde \; \} 56 type fu\%nc 57} 58 59tf2() 60{ 61 ( { time -p echo a | cat - > /dev/null ; } ) 2>&1 62} 63 64type tf 65type tf2 66 67tf 68