Linux shell 动态条

#!/bin/bash
#隐藏光标
c_hide_cursor='\033[?25l'  
#显示光标
c_show_cursor='\033[?25h' 


#函数体
timeout(){
	#隐藏光标
	echo -en "$c_hide_cursor"

	#这是一个无限循环,如果要定时结束,可以在循环内添加条件.
    	while true ;do
		printf "\b" #删除一个字符
        	printf  "/" #添加一个字符 "/"
        	sleep 0.1 #等待0.1秒
        	printf "\b|" #删除一个字符,再添加一个字符 "|"
        	sleep 0.1
        	printf "\b\\" # "\" 反斜杠需要两个反斜杠才能显示
        	sleep 0.1
        	printf "\b-"
        	sleep 0.1
        	printf "\b|"
done
}

#打印信息,不换行
printf "请稍后: "  

#调用函数
timeout 

#函数结束后再显示光标. 由于我设置无限循环所以需要设置条件, 让函数自动结束再执行以下语句
echo -en "$c_show_cursor"


插图

image

计数器

timeout(){ #这个脚本最多计算到9的数字内。
    a=1
    while [ 9 != $a ];do
        a=$(($a+1))
        echo -en "$a"
        sleep 1
        
        echo -en "\b"
done 
}
printf "请稍等:" 
timeout 

截图

image

计数器 2

timeout(){ #这个脚本需要换行计数,不然会删除计数的字符。
    a=1
    while [ 99 != $a ];do
        a=$(($a+1))
        printf "$a"
        sleep 0.1
        printf  "\b\b\b"
done    
}

printf "请稍等: \n"
timeout

截图

image

计数条

timeout(){ 
    a=1
    while [ 50 != $a ];do
        a=$(($a+1))
        printf "#"
        sleep 0.1
        
done    
}

printf "请稍等:   "
timeout
printf "\n[ok]"

截图

image

posted @   edolf  阅读(219)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
  1. 1 天后 卢卢快闭嘴
  2. 2 珊瑚海 周杰伦&梁心颐
  3. 3 梦返 黄霄云
  4. 4 还可以爱吗 黄霄云
  5. 5 讲不出再见 谭咏麟
  6. 6 飞鸟和蝉 任然
  7. 7 下雨天 南拳妈妈
  8. 8 是你 梦然
  9. 9 一生中最爱 谭咏麟
还可以爱吗 - 黄霄云
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

Not available

点击右上角即可分享
微信分享提示