Ссылка на косвенную переменную Bash

РЕДАКТИРОВАТЬ 2: @glenn Джекман Я думал, что это будет исправить, но это все еще ошибка в моем полном сценарии. Почему это не работает? Это связано с косвенной ссылкой?

#!/home/$current_user/Desktop/expect
...
    COUNTER=0
         while [  $COUNTER -lt $num ]; do
             let index=COUNTER+1
             tmp=user_$index
             echo "Changing Password for " ${!tmp}
             echo ${!tmp}
             sudo passwd ${!tmp}
             expect -exact "[sudo] password for $current_user: "
             send "$pass\r"
             interact
             expect -exact "New password: "
             send "$password\r"
             interact
             let COUNTER=COUNTER+1 
         done

РЕДАКТИРОВАТЬ:! или / $ работает для вызова только переменных внутри других переменных. Мне нужна помощь для случая, когда переменная является частью строки.

У меня был быстрый вопрос относительно косвенных ссылок на переменные в Bash.

eval "\${user_$index\}"  #First attempt
echo \${eval "{user_\$index}"} #Second attempt

В основном у меня есть несколько переменных с именем "user_Num" гдеNum целое число Каждая из этих переменных содержит строковое значение. Я хочу вызвать это строковое значение, вызвав переменную. Однако, поскольку переменная имеет переменную внутри нее (NumЯ не могу заставить его работать. Я просмотрел страницы Man для косвенных ссылок в Bash, но они не упоминают случаи, когда переменная внутри другой переменной присоединяется к строке.

TLDR: Мой вопрос: как ты это делаешь?

$(var_$num)

Ответы на вопрос(0)

Ваш ответ на вопрос