Как Миориин предложил в комментариях,-sudo pacman -Syyu
принудительно синхронизирует базу данных pacman.
Чтобы убедиться, что pamac показывает правильные обновления:
В pamac (GUI )перейдите в меню и выберите «Обновить базы данных», чтобы синхронизировать базы данных пакетов для pamac.
Теперь вы должны увидеть, что оба будут предлагать одни и те же обновления пакетов (, если таковые имеются ).
Если у вас нет внешней необходимости создавать переменные foo_value
, bar_value
и т. д., а они нужны только внутри скрипта, вам, вероятно, следует использовать вместо этого ассоциативный массив. Вот так:
declare -A values
for i in "${array[@]}"; do
# some commands...
values[$i]="my string including other variables ${other_variable}"
done
echo "${values[$i]}"
# loop over the keys:
for key in "${!values[@]}"; do
echo "values has key '$key'"
done
(Обратите внимание, что вы хотите заключить "${array[@]}"
в кавычки, чтобы правильно обрабатывать значения, содержащие пробелы и символы подстановки; и вам нужно поставить точку с запятой перед do
в for i in...; do
.)
Просто используйте export
встроенный...
Пример (с бонусом :использование имени динамической переменной для доступа к ; -стр)
~$ cat test.sh
#!/bin/bash
toto="coincoin"
tata="cuicui"
for var in toto tata; do
export coincoin_${!var}="${var}"
done
echo "${coincoin_cuicui}"
echo "${coincoin_coincoin}"
~$./test.sh
tata
toto