Path: news.ccsf.jp!tomockey.ddo.jp!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!feeder.news-service.com!feeder.motzarella.org!news.motzarella.org!eternal-september.org!news.eternal-september.org!not-for-mail From: nide@ics.nara-wu.ac.jp (NIDE Naoyuki) Newsgroups: fj.comp.lang.misc Subject: Re: (bash) indirect referencing of array Date: Sun, 21 Jun 2009 05:44:36 GMT Organization: A noiseless patient Spider Lines: 18 Message-ID: <090621144436.M0106914@yamane.ics.nara-wu.ac.jp> References: <090621020159.M0112747@azusa.ics.nara-wu.ac.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit X-Trace: news.eternal-september.org U2FsdGVkX19OBQ9d/c8GlR+bfUp7Y7S9GRzd+o0wE7s2pTq/7aRXNHnGAgZ0DFFijisJN8JpFB46mSlj8RWRBxKY9K2B6agxZ4qxObus7inrIxUqs+nD+VrBbxDe6yEyc145WueTlA3ugQrRAzQIQQ== X-Complaints-To: abuse@eternal-september.org NNTP-Posting-Date: Sun, 21 Jun 2009 05:45:58 +0000 (UTC) X-Newsreader: mnews [version 1.22PL7] 2003-09/29(Mon) X-Auth-Sender: U2FsdGVkX1/V580fa5Go9nam38a3uEmWNL4C4tjvZ/U= Cancel-Lock: sha1:CclHmUC+Fkf1/zR1QYUCY6Tpu3c= Xref: news.ccsf.jp fj.comp.lang.misc:235 In article <090621020159.M0112747@azusa.ics.nara-wu.ac.jp>, I write: > bash -c 'a=b; b[3]=c; a[3]=d; d=e; echo ${!a[3]}' > > これは(少なくとも手元のbash 3.1.17では)「e」と出力します。そうではなく > 「c」と出力したい(つまり配列要素を配列名で間接参照したい)のですが、 自己フォローです。間接参照に使う変数の値(上の例ではa)に「[3]」まで含め てしまえばいいようですね。つまり bash -c 'a=b[3]; b[3]=c; echo ${!a}' のような具合です。何だかなあとは思いますけど。 bash -c 'a=b; b[3]=c; echo ${!{a}[3]}' を許してくれればいいのにと思うんですが、現実にはエラーになっちゃいますね。 nide@ics.nara-wu.ac.jp