菜鸟一位想写一个linux shell 脚本,执行次脚本回显数字,执行第一次回显1,执行第二次显示2,以此类推... 5
3个回答
展开全部
请问楼主这样的脚本 是你实现另一个脚本的细节部分吧?
如果是这样,建议:
1、首先局部变量不可以长期保存,也就是说有存活期
比如:countNum=2
如果你长时间不运行再去运行的话,想让输出3,但这时候countNum可能已经恢复成0了
所以楼上正解,保存到一个文件中
其次,可以生命为全局变量。即 export countNum=2
这样的方法,保证执行次数正确无误
2、其次如果不是一个大的脚本的小细节的话,这样的脚本没有任务意义~
纯手打,请采纳~
如果是这样,建议:
1、首先局部变量不可以长期保存,也就是说有存活期
比如:countNum=2
如果你长时间不运行再去运行的话,想让输出3,但这时候countNum可能已经恢复成0了
所以楼上正解,保存到一个文件中
其次,可以生命为全局变量。即 export countNum=2
这样的方法,保证执行次数正确无误
2、其次如果不是一个大的脚本的小细节的话,这样的脚本没有任务意义~
纯手打,请采纳~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在本地记录一个计数文件就可以了,每次读取记数文件数值 然后加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
#!/bin/sh
file=".count.rec"
count=0
if [ -f $file ]; then
read count < $file
fi
count=`expr $count + 1`
echo $count
echo $count > $file
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试下下面的这个脚本,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来进行计数文件的重置
需要注意一点的是,不要让其它操作把这个文件删掉
#!/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来进行计数文件的重置
需要注意一点的是,不要让其它操作把这个文件删掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询