LINUX.ORG.RU

Команда в переменную

 , ,


0

1

Есть такая команда $(awk -F= '{print $1}' $config | head -n$n | tail -n1) Она выводит, допустим asd, его мне нужно превратить в $asd, который равняется qwe.

Это не работает:

form="$$(awk -F= '{print $1}' $config | head -n$n | tail -n1)" Здесь, логично, просто прочитало $$, вывод: 12558(awk -F= '{print }' /home/q/.config/oo/config | head -n1 | tail -n1)

form="\$$(awk -F= '{print $1}' $config | head -n$n | tail -n1)" Тут не учитывается $, поэтому вывод это просто $asd, а не qwe

form="$\$(awk -F= '{print $1}' $config | head -n$n | tail -n1)" Ну а тут не учитывается вообще ничего, вывод: $$(awk -F= '{print }' /home/q/.config/oo/config | head -n1 | tail -n1)

Изменено:

forma="$(awk -F= '{print $1}' $config | head -n$n | tail -n1)"
form="${!forma}"

Это сработало.