41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# replacements for test/[ that do arithmetic expansion on the operands to
							 | 
						||
| 
								 | 
							
								# the arithmetic operators, like ksh.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								function test()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								        local -i n1 n3
							 | 
						||
| 
								 | 
							
								        case "$#" in
							 | 
						||
| 
								 | 
							
								        3)      case "$2" in
							 | 
						||
| 
								 | 
							
								                -lt|-gt|-eq|-ne|-le|-ge)        n1=$(( $1 ))
							 | 
						||
| 
								 | 
							
								                                                n3=$(( $3 ))
							 | 
						||
| 
								 | 
							
								                                                builtin test "$n1" $2 "$n3"
							 | 
						||
| 
								 | 
							
								                                                return $?;;
							 | 
						||
| 
								 | 
							
								                *)      builtin test "$@" ;;
							 | 
						||
| 
								 | 
							
								                esac;;                                                          
							 | 
						||
| 
								 | 
							
								        *)      builtin test "$@" ;;
							 | 
						||
| 
								 | 
							
								        esac
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function [()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								        local -i n1 n3
							 | 
						||
| 
								 | 
							
								        case "$#" in
							 | 
						||
| 
								 | 
							
								        4)      case "$2" in
							 | 
						||
| 
								 | 
							
								                -lt|-gt|-eq|-ne|-le|-ge)        n1=$(( $1 ))
							 | 
						||
| 
								 | 
							
								                                                n3=$(( $3 ))
							 | 
						||
| 
								 | 
							
								                                                builtin [ "$n1" $2 "$n3" ]
							 | 
						||
| 
								 | 
							
								                                                return $?;;
							 | 
						||
| 
								 | 
							
								                *)      builtin [ "$@" ;;
							 | 
						||
| 
								 | 
							
								                esac;;                                                          
							 | 
						||
| 
								 | 
							
								        *)      builtin [ "$@" ;;
							 | 
						||
| 
								 | 
							
								        esac
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								q=7
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[ q -lt 10 ]
							 | 
						||
| 
								 | 
							
								echo $?
							 | 
						||
| 
								 | 
							
								[ $q -lt 10 ]
							 | 
						||
| 
								 | 
							
								echo $?
							 |