67 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # 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
 | 
