Path: utzoo!attcan!uunet!bu.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!hplabs!hpda!hpcuhb!hpsqf!hpopd!bd From: bd@hpopd.HP.COM (Bob Desinger) Newsgroups: comp.unix.wizards Subject: Re: evaluating ${10} and above in sh/ksh Message-ID: <8000006@hpopd.HP.COM> Date: 14 Aug 90 15:35:15 GMT References: <514@risky.Convergent.COM> Organization: HP Software Engineering Systems, UK Lines: 42 > There doesn't seem to be a way, in sh or ksh, to evaluate $10 and higher. In /bin/sh this never worked, although individual vendors may have modified their /bin/sh. I don't know of any that have, by the way. It looks like your ksh is broken. Version 06/03/86 (or at least that version shipped with HP-UX at 7.0 on Series 300 and 800) does the right thing: set a b c d e f g h i j k l print 9 is $9, 10 is ${10}, 11 is ${11}, 12 is ${12}. alias i='echo Number 9' alias j='echo Number 10' alias k='echo Number 11' alias l='echo Number 12' eval $9 eval ${10} eval ${11} eval ${12} The new ksh88, Version 11/16/88, also does the right thing. Both versions of ksh generate the correct output: 9 is i, 10 is j, 11 is k, 12 is l. Number 9 Number 10 Number 11 Number 12 I invoked the script with `ksh script' and `ksh88 script'. Then I also tested it with a first line of `#! /usr/local/bin/ksh88' and `#! /bin/ksh'. All four cases generated the same output. Uh, ksh88 isn't shipped with HP-UX; we bought it from the AT&T Toolchest. Your script lines are considerably more complex than mine, though. In fact, I stopped trying to figure out what the script was trying to do and just ran your script. I mailed my output to you; we can follow this up offline. Summarize to the net? -- bd