45 lines
		
	
	
	
		
			680 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			680 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| export LC_ALL=en_US.UTF-8
 | |
| 
 | |
| a=$'\303\251'
 | |
| 
 | |
| echo "$a"
 | |
| 
 | |
| echo ${#a}
 | |
| 
 | |
| b=$'A\303\251B'
 | |
| 
 | |
| echo "$b"
 | |
| 
 | |
| echo ${b: -1}
 | |
| 
 | |
| c=AeB
 | |
| 
 | |
| echo ${c: -1}
 | |
| 
 | |
| unset a
 | |
| a=$(printf '%b' 'A\303\251B')
 | |
| IFS=$(printf '%b' '\303\251')
 | |
| 
 | |
| case "$a" in
 | |
| "A${IFS}B")	echo ok 1 ;;
 | |
| *)		echo bad 1 ;;
 | |
| esac
 | |
| 
 | |
| set $a
 | |
| 
 | |
| case $1 in
 | |
| A)		echo ok 2 ;;
 | |
| *)		echo bad 2 ;;
 | |
| esac
 | |
| 
 | |
| set a b
 | |
| 
 | |
| printf '%s\n' "$*"
 | |
| # squeeze out blanks to avoid white space differences in od implementations
 | |
| printf '%s' "$*" | od -b | ( IFS=$' \t\n' ;  while read line; do echo $line; done; )
 | |
| 
 | |
| # display differences make this problematic
 | |
| ${THIS_SH} ./intl1.sub
 | |
| 
 | |
| # this tests both international handling in printf and temporary environments
 | |
| ${THIS_SH} ./intl2.sub
 | 
