-1
Что я хотел бы сделать, это хранить пункты меню в массиве и динамически извлекать их, чтобы получить как можно больше повторного использования. Как показано ниже, я получил синтаксическую ошибку на линии ***
. Код получен из примеров пакетов Dialog
.Вставка аргумента пакета диалогового окна Linux для цикла while/while?
function showSubMenu() {
. ./setup-vars
. ./setup-tempfile
$DIALOG --clear --title $1 $2 \
--menu "" $3 \
*** (for line in $4
do
$line ""
done) 2> $tempfile
retval=$?
. ./report-tempfile
}
TITLE="MyStrings"
TT= "[email protected]"
MSG=("Linux" "Gentoo" "Arch" "Buildroot" "Ubuntu" "Debian" "RedHat")
SIZE="20 30 6"
for i in ${MSG[@]}
do
echo $i
done
showSubMenu $TITLE $TT $SIZE ${MSG[@]}
Мои вопросы: 1. Можно ли написать такой код? 2. Если нет, есть ли другая возможная или подобная идея для этого?
Использование shellcheck.net для устранения проблем синтаксиса в сценарии, я мог видеть по крайней мере два здесь – Inian
После добавления '\' '' между (для ....) ', исчезла ошибка синтаксиса. Первая строка, которая является 'Linux', считается аргументом. Как это исправить? –
'TT =" $ @ "' -> это неправильно, удалите пробел, 'TT =" $ @ "' – Inian