Вот где вам нужна косвенная переменная с использованием оператора ${!var}
:
bash-4.4$ numbers=(53 8 12 9 784 69)
bash-4.4$ number=numbers[3]
bash-4.4$ echo "${!number}"
9
Эквивалентом zsh
будет:
numbers=(53 8 12 9 784 69)
number=numbers[4]
echo ${(P)number}
Индексы массивов(zsh
начинаются с 1, как и в большинстве других оболочек и инструментов оболочки, поэтому вы можете использовать numbers[4]
для получения 4-го числа ).
Если вы хотите присвоить значение 4-го элемента массива в $number
, вы должны сделать number=$numbers[4]
в zsh
или number=${numbers[3]}
вksh
(и bash
, которые только что скопировали ksh
. ] массивы ).
Спросите у дегтя. В верхней части ваших скриптов настройте пару тестовых функций на tar /dev/null и проверьте статус. Большинство сценариев.configure выполняют десятки подобных тестов.
Paul--) tar &>/dev/null cvf /dev/null --includes /dev/null; echo $?
64
Paul--) tar &>/dev/null cvf /dev/null --wildcards /dev/null; echo $?
0
Paul--)