for i in `seq 0 100`;do echo $i;echo '#'$i'%';sleep 1;done | zenity --progress --auto-close
не пойдет. Мой код
while [[ "$COUNTER" -lt "$element_count" ]]; do
...
...
let COUNTER=COUNTER+1
let "perc=100*COUNTER/element_count"
echo $perc"%"
done | yad --progress --image=gtk-execute --title="Выполнение сценария...." --width 500 --height 50 --auto-close --sticky --text="...." --center --no-buttons
идентичен Вашему. Только Ваш записан в одну строку.
Проблема в том, что зенити и яд отображают процесс если их применять только в конвейере (внутри цикла мне их применить не получилось). Но конвеер "съедает" весь вывод ибо он сразу же направляется на вход зенити, которая берет себе нужную инфу с этого потока, а остальное пропадает в "пучине"

.
Просто хочется что-бы зенити присутствовала внутри цикла. Или как-то сделать так , что-бы в терминал попадала инфа от работы к примеру команды apt-get install, echo и т.д. которая будет внутри цикла. На крайний случай устраивает вариант когда результат работы
apt-get install/remove/purge будет сливаться в какой-то лог файл для дальнейшего контроля или анализа. Примерно так
while [[ "$COUNTER" -lt "$element_count" ]]; do
...
apt-get install $namePKG
#Результат работы apt-get необходимо сохранить в лог файле (для зенити эта информация не нужна)
...
let COUNTER=COUNTER+1
let "perc=100*COUNTER/element_count"
echo $perc"%" #не отображается ибо попадает на вход зенити
done | yad --progress --image=gtk-execute --title="Выполнение сценария...." --width 500 --height 50 --auto-close --sticky --text="...." --center --no-buttons
Можно приписывать в файл
...>>logfile
Вы предлагаете так?
apt-get install $namePKG >> $LogFile
С
tee че-то не разобрался. Может приведете примерчик или ссылку как ее правильно применить. Т.е. хочется что-бы она получила поток и раздала ее зенити и терминалу. И как это сделать в конвейере, что-бы это устроило зенити. Ибо помимо вывода результата работы разного рода команд и функций в терминал из тела цикла надо будет выводить сообщения (результат анализа и работы). А
echo съедается зенити.