当前位置: 技术问答>linux和unix
shell if then fi 测试条件 关于通配符
来源: 互联网 发布时间:2016-05-20
本文导语: 我的一个文件夹中有很多c语言的源文件,有一些是function开头的,里面定义了一些函数,在第一行注释出了函数名,为了读出这些文件中定义的函数,我写了一个shell,如下: for file in `ls` do if [ $fil...
我的一个文件夹中有很多c语言的源文件,有一些是function开头的,里面定义了一些函数,在第一行注释出了函数名,为了读出这些文件中定义的函数,我写了一个shell,如下:
for file in `ls`
do
if [ $file = "function?.c" ]
then
head -1 $file
else
echo $file
fi
done
运行时显示了文件夹下全部文件名,也就只都执行了else,我推测是if条件判断里面通配符用错了,但是不知道该怎么改,哪位大侠能给点指教?时间匆忙不知道有没有把问题说清楚,明天再来更新。
for file in `ls`
do
if [ $file = "function?.c" ]
then
head -1 $file
else
echo $file
fi
done
运行时显示了文件夹下全部文件名,也就只都执行了else,我推测是if条件判断里面通配符用错了,但是不知道该怎么改,哪位大侠能给点指教?时间匆忙不知道有没有把问题说清楚,明天再来更新。
|
for file in `ls function?.c`
do
if [ ! -z $file ]
then
head -1 $file
fi
done
do
if [ ! -z $file ]
then
head -1 $file
fi
done
|
"function?.c" 这个根本匹配不到吧
|
up