当前位置: 技术问答>linux和unix
linux shell编程,哪位高手帮我看看下面的问题,谢谢。
来源: 互联网 发布时间:2016-11-26
本文导语: 此程序的功能是统计当前目录下的文件个数,在程序运行的当前目录下有5个文件 程序运行结果: [root@LXQ heiying]# ./1-2-7 there are 0+1+1+1+1+1+1 files in'pwd' 请问要如何修改才能使运行结果为: ??????????????????????????...
此程序的功能是统计当前目录下的文件个数,在程序运行的当前目录下有5个文件
程序运行结果:
[root@LXQ heiying]# ./1-2-7
there are 0+1+1+1+1+1+1 files in'pwd'
请问要如何修改才能使运行结果为: ???????????????????????????????????
there are 5 files in'pwd'
源程序。
#!/bin/bash
counter=0
for files in *
do
if [ -f "$files" ]
then
counter=$counter+1
fi
done
echo "there are $counter files in'pwd'"
程序运行结果:
[root@LXQ heiying]# ./1-2-7
there are 0+1+1+1+1+1+1 files in'pwd'
请问要如何修改才能使运行结果为: ???????????????????????????????????
there are 5 files in'pwd'
源程序。
#!/bin/bash
counter=0
for files in *
do
if [ -f "$files" ]
then
counter=$counter+1
fi
done
echo "there are $counter files in'pwd'"
|
counter=$counter+1
改成
counter=$((counter+1))
或者
counter=`expr $counter + 1`
改成
counter=$((counter+1))
或者
counter=`expr $counter + 1`
|
LZ的问题在于计算couter值出现问题
方法1:
#!/bin/sh
dir=`ls`
counter=0
for file in $dir
do
echo $file
counter=`expr $counter + 1`
done
echo $counter
方法2:
...
counter=$((counter+1))
方法3:
...
counter=`echo "$counter+1"|bc`