菜鸟一位想写一个linux shell 脚本,执行次脚本回显数字,执行第一次回显1,执行第二次显示2,以此类推...

如题所述

第1个回答  2013-02-21
请问楼主这样的脚本 是你实现另一个脚本的细节部分吧?

如果是这样,建议:
1、首先局部变量不可以长期保存,也就是说有存活期
比如:countNum=2
如果你长时间不运行再去运行的话,想让输出3,但这时候countNum可能已经恢复成0了
所以楼上正解,保存到一个文件中
其次,可以生命为全局变量。即 export countNum=2
这样的方法,保证执行次数正确无误
2、其次如果不是一个大的脚本的小细节的话,这样的脚本没有任务意义~

纯手打,请采纳~本回答被网友采纳
第2个回答  2013-02-21
在本地记录一个计数文件就可以了,每次读取记数文件数值 然后加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
第3个回答  2013-02-21
试下下面的这个脚本,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来进行计数文件的重置
需要注意一点的是,不要让其它操作把这个文件删掉
相似回答