Есть ли способ создать переменные bash и присвоить им значения через цикл?
Что-то вроде:
#!/bin/bash
c=0
for file in $( ls ); do
var"$c"="$file";
let c=$c+1;
done
РЕДАКТИРОВАТЬ: Спасибо @Costas и @mdpc за указание, что это будет плохой альтернативой списку; вопрос только теоретический.
1
ПРИМЕЧАНИЕ. Имейте в виду, что ваша установка будет изменять / изменять / назначать переменные только в текущем процессе, а НЕ в родительском процессе, если вы выполняете это как команду. Вы можете получить файл, используя «.» команда (EX:. new_vars), чтобы это произошло в текущем процессе.
—
mdpc
Хорошо, но вышеописанное не работает на самом деле;
—
Toxefa
var"$c"
ломает это. Ответ @Costas демонстрирует, как назначить несколько значений одной переменной списка - я просто теоретически спрашиваю, могут ли переменные действительно генерироваться с помощью цикла.
Хммм ... почему так сложно, просто использование новой переменной создает ее без каких-либо фанфар.
—
mdpc