這里是編寫工作中用到的一些腳本所用到的一些小技巧,寫下來也是備忘
開發(fā)環(huán)境:mac(linux同理)
# 實現(xiàn)進度條功能
# echo輸出命令大家都很熟悉了
# -n可以使光標(biāo)不換行 -e可以將輸出語句中的字符轉(zhuǎn)義
# 有哪些可轉(zhuǎn)義的字符百度都可以百度到不再贅述
# 其中\(zhòng)r的轉(zhuǎn)義為將光標(biāo)移至行首
echo -ne "print something\r"; # 意為:輸出完語句之后,不換行且將光標(biāo)移至行首
# 此時再向終端輸出時會從行首開始輸出,也就達(dá)到了只更新一行內(nèi)容的目的
# 根據(jù)以上特性,再根據(jù)需求定制自己的進度條就好啦
demo:
#!/bin/bash
# 參數(shù)為百分比值
updateBar(){
num=`expr $1 / 2`
str=$(seq -s '#' ${num} | sed 's/[0-9]//g')
blankStr=''
if [ $1 = 100 ]
then
echo "正在加載[${str}${blankStr}]$1%"
else
blankStr=$(seq -s ' ' `expr 50 - ${num}` | sed 's/[0-9]//g')
echo -ne "正在加載[${str}${blankStr}]$1%\r"
fi
}
for i in {1..100}
do
updateBar ${i}
# 這里為了表現(xiàn)明顯一些,休眠50ms
sleep 0.05
done
獻(xiàn)丑了,現(xiàn)在再寫加載類腳本就不會顯得雜亂無章啦!進度顯示清晰明朗!又是美好的一天!