菜鸟一位想写一个linux shell 脚本,执行次脚本回显数字,执行第一次回显1,执行第二次显示2,以此类推...
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了菜鸟一位想写一个linux shell 脚本,执行次脚本回显数字,执行第一次回显1,执行第二次显示2,以此类推...相关的知识,希望对你有一定的参考价值。
参考技术A 请问楼主这样的脚本 是你实现另一个脚本的细节部分吧?如果是这样,建议:
1、首先局部变量不可以长期保存,也就是说有存活期
比如:countNum=2
如果你长时间不运行再去运行的话,想让输出3,但这时候countNum可能已经恢复成0了
所以楼上正解,保存到一个文件中
其次,可以生命为全局变量。即 export countNum=2
这样的方法,保证执行次数正确无误
2、其次如果不是一个大的脚本的小细节的话,这样的脚本没有任务意义~
纯手打,请采纳~ 参考技术B 在本地记录一个计数文件就可以了,每次读取记数文件数值 然后加1
#!/bin/sh
file=".count.rec"
count=0
if [ -f $file ]; then
read count < $file
fi
count=`expr $count + 1`
echo $count
echo $count > $file 参考技术C 试下下面的这个脚本,showcnt.sh
#!/bin/bash
cntFile=".showcnt.txt"
if [ ! -f $cntFile ]; then
echo "0" > $cntFile
#chmod +rw $cntFilefi
if [ $# == 1 ]; then
if [ $1 == "resetcnt" ]; then
echo "0" > $cntFile
fi
fi
tCnt=`cat $cntFile`
echo $(($tCnt + 1)) > $cntFile
echo "//====================================="
echo "//== 这是您第 $tCnt 次执行本文件" echo "//====================================="
里面显示创建了一个隐藏文件.showcnt.txt,来记录被执行的次数
然后每次执行是就把这个文件的内容取出来,加1,并重新写到文件中,同时打印该值
留了一个小后门,执行 ./showcnt.sh resetcnt的时候,会把.showcnt.txt内容重新置为0
当然,你也可以手动的echo "0" >.showcnt.txt来进行计数文件的重置
需要注意一点的是,不要让其它操作把这个文件删掉
软件测试菜鸟之路————Shell编程
Shell是一个应用程序,提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Shell script 是一种为shell编写的脚本程序。
Shell环境:
vi文本编辑器和能解释执行脚本的解释器。
vi脚本编写
vi filename.sh
脚本第一行格式:
#!/bin/bash 用来指定脚本文件的解析程序为bin目录下的bash解析器
执行脚本:
1、脚本的执权限
第一种方式:chmod +x filename.sh(赋予脚本可执行权限)
编译:./filename.sh
第二种方式:/bin/bath filename.sh
Shell中的变量
shell中变量有两种:用户自定义变量 和 系统默认变量。
变量声明的时候变量名和等号之间不能有空格。
变量命名要求:
1、首个字符必须为字母
2、中间不能有空格,可以使用下划线
3、不能使用标点符号
4、不能使用bash里的关键字
Shell编程中,所有变量都是由字符串组成,不需要事先声明变量的类型。
使用定义过的变量,只需要再变量名前加一个$符号。
使用readonly命令将变量定义为只读变量,变量值不可变。
readonly [变量名]
删除变量:
unset [变量名]
变量被删除后不能再次使用,不能删除只读变量。
字符串的操作
1、字符串的拼接
使用大括号来界定变量名。
2、获取字符串长度
echo ${#string}
3、提取子字符串
echo $(string:1:5):提取第二到第五个字符
数组:多个相同类型的变量组成的集合。shell没有限定数组的大小。
数组用括号表示,元素之间用空格分开。
读取数组:
${array[@]}读取所有元素
${array[1]}读取第二个元素值
获取数组的长度:
length=${#array[@]}
获取数组单个元素的长度
length=${#array[n]}
Shell 注释
以#开头的行就是注释,sh没有多行注释,只能单行注释。
Shell 基本运算符
expr是一款表达式计算工具,使用它能完成表达式的求职操作
两个数相加:
`expr 1 + 2`(反引号而不是单引号)
两数相减:
`expr 2 - 1`
两数相乘:
`expr 2 * 3`
除法:
`expr 7 / 3` = 2
取余:
`expr 7 % 3` = 1
赋值 =
相等 ==
不相等 !=
待续
以上是关于菜鸟一位想写一个linux shell 脚本,执行次脚本回显数字,执行第一次回显1,执行第二次显示2,以此类推...的主要内容,如果未能解决你的问题,请参考以下文章
我想写一个简单的shell脚本,来将我的源文件中的每行进行排序输出,