[i=s] 本帖最后由 wucongdonglai 于 2010-10-25 10:29 编辑 [/i]
今天看一bash的脚本。里面有这么一段:
d=1
c=”“
while [ "$c" != "q" ]
do
echo "read tmp"
read tmp
#这里是不是删除tmp中第一个,后的所有的内容,并赋给c?
c=${tmp%%,*}
#这里的if判断和前面语句结合,不就是判断tmp中有没有逗号?
if [ "$tmp" != "$c" ]; then
echo "Sorry, no commas allowed"
continue
fi
if [ -n "$c" ] ; then
if [ "$c" != "q" ]; then
#这下面是函数调用,不必看
insert_track $cdcatnum,$cdtrack,$cdttitle
fi
else
#函数算数计算的格式不是应该是 d=$(($d-1))吗?这个是什么意思
d=$((d-1))
fi
d=$((d+1))
done
麻烦各位大大帮忙看看啊
wucongdonglai 于 2010-10-25 14:18:08发表:
2# deepwhite
恩,谢white兄
deepwhite 于 2010-10-25 11:30:52发表:
[i=s] 本帖最后由 deepwhite 于 2010-10-25 11:34 编辑 [/i]
前面两个都对,最后一个, d=$((d-1)) 这么写也是可以的。可以看看 bash reference 或者自己实验一下。
[code]
deepwhite@local ~ $ a=1 && echo $((a+3))
4
[/code]