|
>>3644 68user 御提示いただいたシェルなら当方(AIX 5.1)でも同様の結果が出 ます。 以下の様に修正した場合に配列の中身が2つ目のwhile文で出力され なくなります。 #!/usr/bin/ksh INDEX=0 TEST=`ls -l | while read LINE; do CMD[$INDEX]=$LINE let "INDEX = INDEX + 1" done` INDEX=0 while [ $INDEX -lt 5 ]; do echo $INDEX":"${CMD[$INDEX]} let "INDEX = INDEX + 1" done |
|
>>3645 バンガード > 御提示いただいたシェルなら当方(AIX 5.1)でも同様の結果が出ます。 そうでしょうね。 > 以下の様に修正した場合に配列の中身が2つ目のwhile文で出力されなくなります。 そうなりますね。`〜` とするとサブシェルが起動されますから、 $CMD が設定されるのはサブシェルだけで、親のシェルには反映 されません。 質問を続ける目的が全く見えません。>>3644 のスクリプトは >>3641 の希望を満たしているように見えますが違うのですか? まだ説明して いない理由があって、>>3644 は採用できないのですか? |