bash+;linux机器中的进度对话框

bash+;linux机器中的进度对话框,linux,bash,shell,dialog,Linux,Bash,Shell,Dialog,脚本运行任务。bash读取文本文件 脚本需要逐行读取文本文件并在文本文件中执行脚本 关于file.txt的一个重要注释 txt文件中的行号可能不同 例如,在txt文件的第一个运行行上可以是12 在txt文件的第二行上,例如213,等等 ./run_tasks.bash /tmp/file.txt 文本文件-file.txt的示例 1 /tmp/run.sh 2 /var/tmp/load_run.pl 3 /etc/RT/LM.pl . . 我想做的是一个进程对话框pro

脚本运行任务。bash读取文本文件

脚本需要逐行读取文本文件并在文本文件中执行脚本

关于file.txt的一个重要注释

txt文件中的行号可能不同

例如,在txt文件的第一个运行行上可以是12

在txt文件的第二行上,例如213,等等

   ./run_tasks.bash   /tmp/file.txt
文本文件-file.txt的示例

 1 /tmp/run.sh
 2 /var/tmp/load_run.pl
 3 /etc/RT/LM.pl
 .
 .
我想做的是一个进程对话框progress,它说明了txt文件中的任务数量

 #!/bin/sh
 #A gauge Box example with dialog
 (
  c=10
 while [ $c -ne 110 ]
   do
     echo $c
     echo "###"
     echo "$c %"
     echo "###"
     ((c+=10))
      sleep 1
done
  ) |
 dialog --title "A Test Gauge With dialog" --gauge "Please wait ...." 10 60 0
例如,如果txt文件中的任务(行)数为34 然后,根据34个任务,对话过程将从0%到100%开始

如果txt中的任务(行)数为321,则对话框进程将从0%到100%的321个任务开始

另一件事是,对话框需要查看对话框中的每个破坏脚本

请建议如何根据我的要求构建对话框代码

我的意思是,虽然我有以下对话框代码,但我不明白如何将此代码与txt文件中的不同任务(行)相匹配

 #!/bin/sh
 #A gauge Box example with dialog
 (
  c=10
 while [ $c -ne 110 ]
   do
     echo $c
     echo "###"
     echo "$c %"
     echo "###"
     ((c+=10))
      sleep 1
done
  ) |
 dialog --title "A Test Gauge With dialog" --gauge "Please wait ...." 10 60 0
这是一个数学问题;)在
items
中,我列出了您要处理的项目总数。您可能希望在那里有类似于
items=$(wc-l file.txt)
的东西。要将处理的行数转换为百分比,我需要
$($processed*100/$items))
。注意顺序,因为我们只有整数,所以通常处理的/items*100不起作用

#!/bin/bash

(
    items=123
    processed=0
    while [ $processed -le $items ]; do
        pct=$(( $processed * 100 / $items ))
        echo "XXX"
        echo "Processing item $processed"
        echo "XXX"
        echo "$pct"
        processed=$((processed+1))
        sleep 0.1
    done
) | dialog --title "Gauge" --gauge "Wait please..." 10 60 0