LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 879|回复: 5

判断一个文件是目录、二进制文件、还是设备文件

[复制链接]
发表于 2003-11-29 00:58:10 | 显示全部楼层 |阅读模式
#!/bin/bash
echo “please input a file name :”
read file_name
if [ -d $file_name ]
then
        echo “$file_name is a firectory”
elif [ -f $file_name ]
then
        echo “$file_name is a common file”
elif [ -c $file_name –o –b $file_name ]
then
        echo “$file_name is a device file”
else
        echo “$file_name is an unknown file”
fi
发表于 2003-11-29 01:12:29 | 显示全部楼层
我感觉用case语句也许更简洁些~~ ;)
发表于 2003-11-29 01:35:10 | 显示全部楼层
最初由 javalee 发表
我感觉用case语句也许更简洁些~~ ;)


好象很麻烦?怎么写?
发表于 2003-11-29 02:14:39 | 显示全部楼层
最初由 home 发表
好象很麻烦?怎么写?

:sorry 是很麻烦的说~~
  1. #!/bin/ksh
  2. read file?"input a filename:"
  3. var=$(ls -l|grep $file|cut -b1)
  4. case $var in
  5. -)      echo "$file is 普通文件";;
  6. d)      echo "$file is 目录文件";;
  7. c)      echo "$file is 字符文件";;
  8. ...
  9. b)      echo "$file is 字块文件";;
  10. esac
复制代码
我是这样想的,确实很麻烦~~,而且效率低下 ,,,
BTW:我只是想尝试一下别的方法 ;)
发表于 2003-11-29 11:50:49 | 显示全部楼层
file命令是专门做文件类型判断的。
file *
发表于 2003-11-29 12:03:58 | 显示全部楼层
最初由 r2007 发表
file命令是专门做文件类型判断的。
file *

呵呵~~,怎么忘了这个命令呢?!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表