输入一个文件名,判断文件类型和拥有的权限

首先,判断一下,让使用者输入一个档名,我们判断:

  1. 这个文件是否存在若不存在则给予一个『Filename does not exist』的信息,并中断程序
  2. 若这个文件存在则判断他是个文件或目录,结果输出『Filename is regular file』或 『Filename is directory』
  3. 判断一下,运行者的身份对这个文件或目录所拥有的权限,并输出权限数据!

#!/bin/bash
#User input a filename,programe will check the flowing:
# 1.)exist? 2.)file/directory? 3.)file permissions


echo -e "Please input a filename,I'll check the filename's type and its permissions.\n\n"
read -p "Please input a fliename:" filename

test -z $filename && echo "You must input a filename!Rember next time you mustn't input an empty file! " && exit 0【若直接回车,即不输入任何东西就退出,并给予警告!】

test ! -e $filename && echo "The filename DO NOT exist!" && exit 0

test -f $filename && filetype="regulare file"
test -d $filename && filetype="directory"
test -r $filename && perm="readable"
test -w $filename && perm="$perm writeable"
test -x $filename && perm="$perm executable"

echo "The filename:$filename is a $filetype."
echo "And the permissions is $perm."

执行结果:

[root@SOR_SYS ~]# sh test.sh

Please input a filename,I'll check the filename's type and its permissions.


Please input a filename:test.sh
The filename:test.sh is a regulare file.
And the permissions is readable writeable.

或者:

Please input a filename,I'll check the filename's type and its permissions.


Please input a filename:/home/oracle/zy
The filename:/home/oracle/zy is a directory.
And the permissions is readable writeable executable.
You have new mail in /var/spool/mail/oracle

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值