[comp.unix.wizards] ${var?err}

chris@mimsy.UUCP (10/28/87)

In article <179@nusdhub.UUCP> rwhite@nusdhub.UUCP (Robert C. White Jr.) writes:
>... should become one of the following:
>	/bin/test -d "${FOO:? <error message>}"  # to terminate shell
>	/bin/test -d "${FOO:=/etc/system}"       # to garentee false
>	/bin/test -d "${FOO:-/etc/system}"	 # same without affecting
>						 # the value of FOO

... except that

	FOO=""
	: ${FOO?err}

continues running, while

	: ${FOO?err}

stops with `FOO: err' under `sh' (tested under 4.3BSD).
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7690)
Domain:	chris@mimsy.umd.edu	Path:	uunet!mimsy!chris

decot@hpisod2.HP.COM (Dave Decot) (10/29/87)

> Under either System V or 4.3 BSD, do:
> 	mkdir junk
> 	cd junk
> 	rmdir ../junk
> 	ls .
> 
> This will tell you that "." does not exist, because under these versions
> of UN*X the entry for "." is removed from a directory when rmdir runs,

HP-UX will tell you that you cannot remove your current directory.

Dave Decot
hpda!decot