我已经使用 Automator Application 创建了应用程序( .app ,该应用程序通过双击运行)。它运行的命令逐个执行命令。每个命令需要2-3分钟。我要实现的是在完成每个命令后显示进度百分比。
在以上图像中,百分比始终为零。我想在完成每个命令后显式设置进度。我也知道使用 AppleScript 可以实现,但是我想在bash脚本中实现。
答案 0 :(得分:0)
我为我的脚本做了一次
progress() {
set -- "$@" "$((100*$1/$2))" "$(($1 == 0 ? -1 : SECONDS*($2-$1)/$1))"
printf "%d of %d (%d%%) eta %s sec" "$@"
}
您为其传递了2个参数:
您的脚本将如下所示:
#!/bin/bash
progress() {
set -- "$@" "$((100*$1/$2))" "$(($1 == 0 ? -1 : SECONDS*($2-$1)/$1))"
printf "%d of %d (%d%%) eta %s sec" "$@"
}
n=10 # you need to hardcode this, the total number of commands to run
i=0
command_01; progress $((++i)) $n
command_02; progress $((++i)) $n
command_03; progress $((++i)) $n
command_04; progress $((++i)) $n
command_05; progress $((++i)) $n
command_06; progress $((++i)) $n
command_07; progress $((++i)) $n
command_08; progress $((++i)) $n
command_09; progress $((++i)) $n
command_10; progress $((++i)) $n
printf "\nThat took %d sec\n" $SECONDS