что такое $ {массив [три]} - PullRequest
       3

что такое $ {массив [три]}

0 голосов
/ 29 ноября 2011

Я изучаю сценарии оболочки (ksh). Я хотел знать, что означает ${array[three]} в этом контексте.

array[1]="one"
array[2]="two"
array[3]="three"
three=3

print ${array[1]}
print ${array[2]}
print ${array[3]}
print ${array[three]}

Выход:

one
two
three
three

Я понимаю, что мы просто объявляем простой массив, содержащий {one,two,three} в качестве значений Но я не понимаю, почему print ${array[three]} выводит three. Мой главный дубль не должен быть print ${array[$three]}

1 Ответ

1 голос
/ 29 ноября 2011

Вы также можете написать:

print ${array[$three]}

, и он выдаст тот же ответ (three).Похоже, что в рамках ${...} оболочка Korn автоматически предполагает, что любое слово, которое может быть именем переменной, является и неявно применяет к ней $.

...