|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U c
Length: 2820 (0xb04)
Types: TextFile
Notes: UNIX file
Names: »check.SHELL«
└─⟦bee8f15db⟧ Bits:30004169/disk2.imd Uniplex II+ V.6 release 1.0 (dansk)
└─⟦bee8f15db⟧ UNIX Filesystem
└─⟦this⟧ »up/new/usr/UAP/install.cmds/check.SHELL«
: '
install.cmds/check.SHELL
Usage: check.SHELL
Exits: 0 - OK
1 - SHELL is not fully Bourne shell compatible
Error message displayed.
This program is designed to catch out non-standard SHELLs,
such as the HP/UX (HP 9000/300) and AIX (2.1) ones
L..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T..T.R.
'
BAD="Standard system utility \"sh\" does not operate correctly$BELL
"
WARN="WARNING: $BAD"
BAD="ERROR: $BAD"
PAUSE=
: "case" statement checks
for F in a aa aaa; do
case "$F" in
?*) ;;
??*) ;;
???*) ;;
*) echo "$BAD(CASE statement doesn't process \"?\")"
exit 1
;;
esac
done
A=A
case "$A" in
*A* ) ;;
* ) echo "$BAD(CASE statement doesn't process \"*A*\" matching)"
exit 1
;;
esac
case "$A" in
[Aa]) ;;
*) echo "$BAD(CASE statement doesn't process \"[Aa]\" matching)"
exit 1
;;
esac
case "$A" in
*[Aa]*) ;;
*) echo "$BAD(CASE statement doesn't process \"*[Aa]*\" matching)"
exit 1
;;
esac
case A in
*$A* ) ;;
*) echo "$BAD(CASE statement doesn't process \"*\$VAR*\" matching)"
exit 1
;;
esac
for F in 'ABCD' 'Abcde' 'xA' 'EDCBABCDE'; do
case "$F" in
'A'*) ;;
"$A"bc*) ;;
?'A') ;;
*'A'*) ;;
*) echo "$WARN(CASE statement doesn't process" \
"quoting mechanism correctly)"
PAUSE=yes
;;
esac
done
F=''
case "$F" in
'') ;;
*) echo "$WARN(CASE statement doesn't recognise null strings)"
PAUSE=yes
;;
esac
: while/done exit code tests
echo a |
while read F; do
:
done
case $? in
0) ;;
*) echo "$BAD(WHILE statement doesn't exit correctly on EOF)"
exit 1
;;
esac
echo a |
while read F; do
exit 1
done
case $? in
0) echo "$BAD(WHILE statement doesn't pass embedded EXIT code)"
exit 1
;;
esac
: checks for parameter substitution
case ${Pe=A}B in
'AB') ;;
*) echo "$WARN(Parameter substitution does not work correctly for
\${parameter=value}continue when parameter is not set in the environment)"
PAUSE=yes
;;
esac
Pe=
: Pe is now set
case ${Pe=A}B in
'B') ;;
*) echo "$WARN(Parameter substitution does not work correclty for
\${parameter=value}continue when parameter is set in the environment but has
null value)"
PAUSE=yes
;;
esac
Pe=C
: Pe is set and contains 'C'
case ${Pe=A}B in
'CB') ;;
*) echo "$WARN(Parameter substitution does not work correclty for
\${parameter=value}continue when parameter is set and has a defined value)"
PAUSE=yes
;;
esac
: If any WARNings above, elicit an extra RETURN before clean exit
case "$PAUSE" in
y*) echo "Press <RETURN> to continue"; read ans;;
esac
exit 0