Lan*_*nes 7 shell bash terminal control-flow
我认为它是这样的:(Fedora14/bash)
#!/bin/bash
for i in {0..10..1}; do echo -e "$i"'\c'
echo -e "\n\r"
sleep 1
done
Run Code Online (Sandbox Code Playgroud)
但它不起作用。目的:像这样,但没有“明确”:
#!/bin/bash
for i in {0..10..1}; do echo -e "$i"
sleep 1
clear
done
Run Code Online (Sandbox Code Playgroud)
因此,一个计数脚本不会删除整个屏幕以输出 +1 个数字,而是只删除计数所在的行,因此可能会出现例如:一个漂亮的“进度条”..
use*_*own 11
for i in {0..15}; do echo -ne "$i"'\r'; sleep 1; done; echo
Run Code Online (Sandbox Code Playgroud)
对于默认的步宽 1,您不需要 ..1 。
echo -n
Run Code Online (Sandbox Code Playgroud)
防止换行。
\r返回到行首(没有换行符 - \n),并且比我以前使用的 '\b' 更好地后退单个字符,如果您有多个数字,则不方便。感谢 rozcietrzewiacz。