echo *.h 时如果*.h没有时怎么让什么也不显示?

sh/bash/dash/ksh/zsh等Shell脚本
回复
chineseli
帖子: 117
注册时间: 2008-01-05 18:34

echo *.h 时如果*.h没有时怎么让什么也不显示?

#1

帖子 chineseli » 2008-12-07 16:17

比如echo *.h ,如果目录里有.h文件时就会都显示出来,但是如果没有时屏幕上就显示一个 *.h,很不合理,怎么让没有时就什么也不显示呢?
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

Re: echo *.h 时如果*.h没有时怎么让什么也不显示?

#2

帖子 xhy » 2008-12-07 16:41

代码: 全选

a=`echo *.h`; if [ "$a" = "*.h" ]; then echo "OK"; else echo "NO"; fi
自己注意缩进
目前负债150多万
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: echo *.h 时如果*.h没有时怎么让什么也不显示?

#3

帖子 poet » 2008-12-07 16:42

代码: 全选

find . -name "*.h"
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: echo *.h 时如果*.h没有时怎么让什么也不显示?

#4

帖子 aerofox » 2008-12-07 22:45

代码: 全选

shopt -s nullglob
echo *.h
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: echo *.h 时如果*.h没有时怎么让什么也不显示?

#5

帖子 xiooli » 2008-12-07 22:57

代码: 全选

echo *.h|grep -vw "*.h"
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: echo *.h 时如果*.h没有时怎么让什么也不显示?

#6

帖子 aerofox » 2008-12-08 15:31

3楼的方法会找出子目录中的内容。
2楼和5楼的方法在存在文件“*.h”时有些问题。
问题例子:

代码: 全选

touch '*.h'
echo *.h|grep -vw "*.h"
回复