我真的很喜欢输出的外观 bar
但该脚本仅用于输入/输出操作。
我怎样才能用它来代替睡眠但有视觉反馈?
sleep 10
Run Code Online (Sandbox Code Playgroud)
我看不到使用bar
. 但是,您可能对这些执行相同操作的其他命令感兴趣,它们可能更适合您的需求。
此方法将简单地用更大的进度条覆盖先前显示在屏幕上的内容。简单但有效。
例如,ex.bash
:
#!/bin/bash
echo -ne '##### (33%)\r'
sleep 1
echo -ne '############# (66%)\r'
sleep 1
echo -ne '####################### (100%)\r'
echo -ne '\n'
Run Code Online (Sandbox Code Playgroud)
该命令pv
提供进度条功能。您可以在这篇题为“您应该了解的 Unix 实用程序:管道查看器”的文章中看到更详细的示例。
$ pv access.log | gzip > access.log.gz
611MB 0:00:11 [58.3MB/s] [=> ] 15% ETA 0:00:59
Run Code Online (Sandbox Code Playgroud)
您可以使用以下示例代码通过一个简单的循环来构建您自己的“微调器”。在循环中,您可以嵌入您喜欢的任何命令。这段代码来自这篇文章,标题为:我可以在 Bash 中做一个微调器吗?.
#!/bin/bash
sp='/-\|'
printf ' '
for i in $(seq 3); do
printf '\b%.1s' "$sp"
sp=${sp#?}${sp%???}
sleep 1
done
echo ''
Run Code Online (Sandbox Code Playgroud)
有一个名为的命令dialog
,它几乎可以满足您的需求。它使用图形对话框,但它们是基于 ncurses 的,因此只要支持 ncurses,它们就可以在大多数终端和/或脚本中工作。您可以dialog
在该项目的网站上查看所有文档。
截屏
归档时间: |
|
查看次数: |
7116 次 |
最近记录: |