Linux-Shell脚本(二)

进入homework_1文件夹,编写脚本check_file.sh

check_file.sh接受一个传入参数。格式为./check_file.sh file

判断传递参数,分别在标准输出中输出如下内容(不包括双引号):

(1)如果传入参数个数不足1,则输出一行:“arguments not valid”,然后退出,退出状态等于1。

(2)如果file文件不存在,则输出一行:“not exist”,然后退出,退出状态等于2。

(3)如果file文件存在,则输出分别进行如下5个判断,然后退出,退出状态等于0。

        1)如果file为普通文件,则输出一行:“regular file”

        2)如果file为目录(文件夹),则输出一行:“directory”

        3)如果file具有可读权限,则输出一行:“readable”

        4)如果file具有可写权限,则输出一行:“writable”

        5)如果file具有可执行权限,则输出一行:“executable”

#! /bin/bash

#如果传入参数不是1
if [ $# -ne 1 ]
then
    echo arguments not valid
    exit 1
fi

#如果file文件不存在
if [ ! -e "$1" ]
then
    echo not exist
    exit 2
fi

#如果file为普通文件
if [ -f "$1" ]
then
    echo regular file
fi

#如果file为目录(文件夹)
if [ -d "$1" ]
then
    echo directory
fi

#如果file具有可读权限
if [ -r "$1" ]
then
    echo readable
fi

#如果file具有可写权限
if [ -w "$1" ]
then
    echo writable
fi

#如果file具有可执行权限
if [ -x "$1" ]
then
    echo executable
fi

判断的一些条件 

-a FILE 如果文件存在则为真。
-b FILE 如果文件是块状的,则为真。
-c FILE 如果文件是特殊字符,则为真。
-d FILE 如果文件是一个目录,则为真。
-e FILE 如果文件存在则为真。
-f FILE 如果文件存在并且是一个普通文件,则为真。
-g FILE 如果文件是set-group-id,则为真。
-h FILE 如果文件是一个符号链接,则为真。
-L FILE 如果文件是一个符号链接,则为真。
-k FILE 如果文件的 “粘性 “位被设置,则为真。
-p FILE 如果文件是一个命名的管道,则为真。
-r FILE 如果文件可以被你读取,则为真。
-s FILE 如果文件存在并且不是空的,则为真。
-S FILE 如果文件是一个套接字,则为真。
-t FD 如果FD在一个终端上打开,则为真。
-u FILE 如果文件是设置了用户身份的,则为真。
-w FILE 如果文件可以被你写入,则为真。
-x FILE 如果文件可由你执行,则为真。
-O FILE 如果文件由你有效拥有,则为真。
-G FILE 如果该文件由你的小组有效拥有,则为真。
-N FILE 如果文件在上次被读取后被修改,则为真。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值