Сzsh
:
for var (${(M)${(k)parameters}:#B2_*})
printf '$%s == %s\n' $var ${(P)var}
${(k)parameters}
— это клавиши специального ассоциативного массива $parameters
, дающего информацию обо всех параметрах. ${array:#B2_*}
удаляет из расширения $array
элементы, соответствующие B2_*
. С(M)
(для M
прикрепленным ), это перевернутое:сохраняет совпадающие элементы. ${(P)var}
(аналогично bash
${!var}
):расширяется до значения параметра, имя которого хранится в $var
. Если вам нужны только те переменные, которые не экспортируются:
setopt extendedglob # for ^
for var (${(M)${(k)parameters[(R)^*export*]}:#B2_*})
printf '$%s == %s\n' $var ${(P)var}
Эту команду можно использовать для отображения списка всех доступных локалей:
locale -a
ls -l /usr/share/locale/
Это не означает, что все приложения поддерживаются на всех языках, вам может потребоваться установить дополнительный пакет локализации для конкретного приложения или среды рабочего стола.