14887Schin######################################################################## 24887Schin# # 34887Schin# This software is part of the ast package # 4*12068SRoger.Faulkner@Oracle.COM# Copyright (c) 1982-2010 AT&T Intellectual Property # 54887Schin# and is licensed under the # 64887Schin# Common Public License, Version 1.0 # 78462SApril.Chin@Sun.COM# by AT&T Intellectual Property # 84887Schin# # 94887Schin# A copy of the License is available at # 104887Schin# http://www.opensource.org/licenses/cpl1.0.txt # 114887Schin# (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) # 124887Schin# # 134887Schin# Information and Software Systems Research # 144887Schin# AT&T Research # 154887Schin# Florham Park NJ # 164887Schin# # 174887Schin# David Korn <dgk@research.att.com> # 184887Schin# # 194887Schin######################################################################## 204887Schinfunction err_exit 214887Schin{ 224887Schin print -u2 -n "\t" 234887Schin print -u2 -r ${Command}[$1]: "${@:2}" 244887Schin let Errors+=1 254887Schin} 264887Schinalias err_exit='err_exit $LINENO' 274887Schin 284887SchinCommand=${0##*/} 294887Schininteger Errors=0 3010898Sroland.mainz@nrubsig.org 3110898Sroland.mainz@nrubsig.orgtmp=$(mktemp -dt) || { err_exit mktemp -dt failed; exit 1; } 3210898Sroland.mainz@nrubsig.orgtrap "cd /; rm -rf $tmp" EXIT 3310898Sroland.mainz@nrubsig.org 344887SchinPS3='ABC ' 354887Schin 3610898Sroland.mainz@nrubsig.orgcat > $tmp/1 <<\! 374887Schin1) foo 384887Schin2) bar 394887Schin3) bam 404887Schin! 414887Schin 424887Schinselect i in foo bar bam 434887Schindo case $i in 444887Schin foo) break;; 454887Schin *) err_exit "select 1 not working" 464887Schin break;; 474887Schin esac 484887Schindone 2> /dev/null <<! 494887Schin1 504887Schin! 514887Schin 524887Schinunset i 534887Schinselect i in foo bar bam 544887Schindo case $i in 554887Schin foo) err_exit "select foo not working" 2>&3 564887Schin break;; 574887Schin *) if [[ $REPLY != foo ]] 584887Schin then err_exit "select REPLY not correct" 2>&3 594887Schin fi 604887Schin ( set -u; : $i ) || err_exit "select: i not set to null" 2>&3 614887Schin break;; 624887Schin esac 6310898Sroland.mainz@nrubsig.orgdone 3>&2 2> $tmp/2 <<! 644887Schinfoo 654887Schin! 664887Schinexit $((Errors)) 67