ジョブ送信スクリプトをデバッグしようとしたときに、バグを次のように絞り込むことにしました。
[testuser@bes ~]$ var=( 1 foo1*bar4 echo 1*4=4 )
[testuser@bes ~]$ echo "${var[@]}"
1 foo1*bar4 echo 1*4=4
[testuser@bes ~]$ cd /data/testuser/jobs/example/a16162/
[testuser@bes a16162]$ var=( 1 foo1*bar4 echo 1*4=4 )
[testuser@bes a16162]$ echo "${var[@]}"
1 foo1-bar4 foo1*bar4 echo 1*4=4
[testuser@bes a16162]$
これは、新鮮なbashセッションのノーカットのトランスクリプトです。誰かがそれがどのように機能するか考えていますか?これは私が今まで聞いたことがないbashの古風な機能ですか、それとも本当に奇妙なバグですか?
バージョン(はい、私はそれが時代遅れであることを知っています):
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
Linux bes 2.6.18-194.11.3.el5 #1 SMP Mon Aug 30 16:19:16 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
awk
編集:これは、ユーザーが渡した配列を処理する必要があるもののためのものであり、かなり厄介なハックのトリプレットよりも、この方法を使用したいと思います。それらは些細な「要素2の抽出」のようなものであるため、配列を使用する方が適切に思えます。