我遇到了enable a progress bar用于apt和apt-get的方法,出于脚本目的,我试图只打印那个进度条。我没有用grep(grep "Progress:"
)或tail(tail -1
)取得任何成功。这可能吗?我是朝着正确的方向前进的吗?
答案 0 :(得分:0)
进度条可能不会打印到stdout。
尝试通过2>&1 | grep Progress:
答案 1 :(得分:0)
如果我理解你只是想在apt或apt-get代码中找到进度条,那么你可以在以后使用它,那么就不能保证它被命名为Progress:
,或者包含Progress:
的提示符甚至在您正在搜索的脚本中。它可能来自另一个文件sourced
。
您可以尝试在vim
或kwrite
或jot
等编辑器中打开脚本,并在脚本中查看调用仪表的位置并从那里开始。没有人知道它是否会在scale
,meter
,percent
等下...
在没有找到任何东西的情况下,你可以随时使用简单的东西。网上有很多可用的。例如:
#!/bin/bash
## string of characters for meter (60 - good for 120 char width)
str='▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒'
tput civis # make cursor invisible
for i in `seq 1 100`; do # for 1 to 100, save cursor, restore, output, restore
printf "\033[s\033[u Progress: %s %3d %% \033[u" "${str:0:$(((i+1)/2))}" "$i"
sleep 0.1 # small delay
done
printf "\033[K" # clear to end-of-line
tput cnorm # restore cursor to normal
exit 0