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