shell实现一个简单进度条
来源:互联网 发布:哪个软件收视率准 编辑:程序博客网 时间:2024/05/21 17:47
shell简单语法
条件测试
用命令test或[ 测试一个条件是否成立。如果测试条件为真,命令的Exit Status为0,测试条件为假,Exit Status为1。
这里输入的数字比10大,条件成立为0,比10小条件不成立为1.
整数比较
-lt//小于 -le//小于等于 -gt//大于-ge//大于等于 -eq//等于-ne//不等于
测试命令
与 或 非 的测试命令
分支语句if/then/elif/else/fi
#!/bin/bashread val if [ $val -eq 100 ]then echo "true"else echo "false"fi
if可以添加对任何命令的检测,它是根据命令的退出码判断
if支持嵌套
if不能出现空的代码块
case…esac
可以检测所有语句包括正则表达式
#!/bin/bashread opcase $op in start ) echo "start" ;; stop ) echo "stop" ;; restart ) echo "restart" ;; * ) echo "default"esac
循环语句
for/do/done
#!/bin/bashfor i in {1..10}do echo $idone
#!/bin/bashfor(( i=1; i<10; i++))//当成c语言的语法来处理do echo $idone
while/do/done
#!/bin/bashi=0while [ $i -le 10 ]do echo $i let i++done
位置参数和特殊变量
$0//相当于c语言main函数的argv[0]$1,$2,$3... //位置参数,相当于c语言main函数的argv[1],argv[2]...$#//相当于main函数的argc-1$@//表示参数列表“$1”"$2"...$?//上一条命令的Exit Status$$//当前shell的进程号
函数
#!/bin/bashfunction fun(){ return $1}fun "$@"//传参ret=$?//接受上一条命令的退出码if [ $ret -eq 0 ]then echo "success"else echo "false"fi
数组
arr=(1 2 3 "e" 5.34)//用空格隔开echo ${arr[3]}//输出下标为3的echo ${arr[@]}//将数组整体输出echo ${arr[*]}//将数组个数作为变量输出
进度条实现
#!/bin/bashi=0bar=''index=0arr=( "|" "/" "-" "\\" )while [ $i -le 100 ]do let index=index%4 printf "[%-100s][%d%%][\e[43;46;1m%c\e[0m]\r" "$bar" "$i" "${arr[$index]}" let i++ let index++ usleep 30000 bar+='#'doneprintf "\n"
阅读全文
1 0
- shell实现一个简单进度条
- shell实现简单的进度条
- Linux下实现一个简单进度条和shell脚本实现彩色进度条
- shell实现了一个进度条
- 实现一个简单的进度条
- shell脚本实现一个彩色的进度条
- shell脚本实现一个彩色进度条
- linux--shell脚本实现一个彩色进度条
- 一个简单的进度条,applet实现
- 用Ajax实现一个简单的进度条
- 用Ajax实现一个简单的进度条
- 简单实现一个文件上传的进度条
- linux中实现一个简单的进度条
- Linux中实现一个简单的进度条
- 用linux实现一个简单的进度条
- Linux中实现一个简单的进度条
- 简单实现一个进度条并剖析原理
- 实现一个简单的shell
- 大端模式和小端模式
- [Leetcode] 239. Sliding Window Maximum 解题报告
- 一年Android工作经验,阿里 百度 网易 美团 小米 快手面经
- 阿里云Android直播demo流程
- 单例模式的七种写法
- shell实现一个简单进度条
- Request.Params用法
- python3中使用requests模块爬取小说入mongo库
- FAFU OJ 卡牌游戏
- HQL总结
- memcpy 、sprintf和strcpy 的比较
- pcl1.6+vs2010配置
- Java设计模式-模板方法模式
- SGE的简单安装介绍