赞
踩
linux中sh是链接到bash上的,所以sh与bash在功能上是没有区别的,相当于bash解析器是sh的增强版本,所以安卓开发者可以在 git bash中 测试脚本
- $ cat test.sh
- echo 测试 【输出】
-
- $ /bin/bash test.sh 【调用解释器 bash】
- 测试
-
- $ sh test.sh 【调用解释器 sh】
- 测试
-
- echo $? 监测上一个命令成功情况 0 成功
- df -h 【查看磁盘情况】
输出结果如下:
- a=10 #定义一个变量 注意: a =10 a = 10 都是错误的写法
- echo a==$a
输出结果如下:
- # $0 Shell本身的文件名
- # $1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…
- echo 当前Shell脚本的名称是: $0
- echo 参数一:$1
- echo 参数二:$2
输出结果如下:
- # if 条件语句 $? 判断上一个指令是否成功 fi表示一个if语句的结尾
- # $*所有参数列表 $# 添加到Shell的参数个数
- echo "本次执行状态如下:"
- if(($?));then
- echo "本次执行失败"
- else
- echo "本次执行成功"
- fi
- echo "外界传递了参数内容是:this\ is $*"
- echo "外界传递了参数的数量: this\ is $#"
输出结果如下:
seq: squeue 是一个序列的缩写,主要用来输出序列化的东西
seq常见命令参数
用法:seq [选项]... 尾数
或:seq [选项]... 首数 尾数
或:seq [选项]... 首数 增量 尾数
以指定增量从首数开始打印数字到尾数。
-f, --format=格式 使用printf 样式的浮点格式
-s, --separator=字符串 使用指定字符串分隔数字(默认使用:\n)
-w, --equal-width 在列前添加0 使得宽度相同【自动补位】
--help 显示此帮助信息并退出
--version 显示版本信息并退出
运行结果如下:
循环代码:
- # for 变量名 in 取值列表
- # do
- # 命令
- # done 循环结束
- for i in `seq 1 20`
- do
- echo "遍历的数字是:$i"
- done
- # shell expr 是一个功能强大,并且比较复杂的命令,它除了可以实现整数计算,还可以结合一些选项对字符串# 进行处理,例如计算字符串长度、字符串比较、字符串匹配、字符串提取等
- a=0
- for((f=0;f<=100;f++))
- do
- # 注意:加的时候,必须加空格,否则有问题
- a=`expr $f + $a`
- done
- echo "最后累加1~100的值是:$a"
输出结果如下:
- # tar czf all.taz *.sh 【把所有的 sh文件,压缩成包 all.taz】
-
- # 查找当前目录下,所有的.sh文件,进行打包操作
- a=0
- for i in `find . -name "*.sh"`
- do
- a=`expr $a + 1`
- tar -czf shellTest+$a.tgz $i
- done
- i=0
- while((i<10))
- do
- i=`expr $i + 1`
- echo "遍历的值:$i"
- done
输出结果:
- # 函数的学习
- function test01() {
- echo "我是一个函数"
- }
- test01 # 调用此函数
- # -----
- # 函数里面是可以定义变量的,不要去考虑,堆 栈 弹栈,他就是脚本
- function test02() {
- var1="test1"
- var2="test2"
- echo $var1
- echo $var2
- echo "我是一个函数"
- }
- # 函数传递参数 重点
- function test03() {
- echo "我是一个函数,参数是:`expr $1`"
- }
- test03 99999 # 内置传递参数
输出结果如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。