Используя то, чтобы цикл создал гибкий радио-список в диалоговом окне из сценария оболочки

Я хочу создать немного Программы с помощью Диалогового окна для проигрывания файлов журнала, созданных со Сценарием. Проблема состоит в том, что я не могу получить динамический радио-список, который автоматически добавляет строку, если новый файл журнала создается. Таким образом, я знаю, что "просто" должен использовать a if цикл как # for i in ...etc. со Счетчиком, который считает файлы журнала, но я не могу заставить его работать.

Таким образом, это - то, что я имею прямо сейчас:

#!/bin/bash
COUNTER=1
for i in $( ls /mnt/home/$USER/shell_logs/*.log); do
echo $i $COUNTER
let COUNTER=COUNTER+1
done

Я просто должен получить эту работу со своим radiolist:

#! /bin/bash
COUNTER=1
for i in $( ls /mnt/home/$USER/shell_logs/*.log); do
let COUNTER=COUNTER+1
done 
dialog --backtitle "Radiolist" \
--radiolist "test" 0 0 $COUNTER \
$COUNTER $i  <-- This is the main problem
1
задан 20 April 2014 в 05:42

1 ответ

Для создания его работой необходимо добавить записи списка в переменную в Вашем для цикла. Что-то как:

#!/bin/bash

COUNTER=1
RADIOLIST=""  # variable where we will keep the list entries for radiolist dialog
for i in /mnt/home/$USER/shell_logs/*.log; do
    RADIOLIST="$RADIOLIST $COUNTER $i off "
    let COUNTER=COUNTER+1
done

dialog --backtitle "Radiolist" \
--radiolist "test" 0 0 $COUNTER \
$RADIOLIST
0
ответ дан 8 October 2019 в 10:44

Другие вопросы по тегам:

Похожие вопросы: