本文最后更新于 283 天前,其中的信息可能已经有所发展或是发生改变。
笔记:
1、默认退出值为0,所以可以不用加
exit 0
2、
“$1”
需要带引号是因为测评的数据参数可能带空格,来自Y总的习题课3、关闭vim打开的
check_file.sh
,然后homework 3 test
才能得分。因为vim打开状态,当前目录下会有对应的.swap
文件。作业要求当前目录下只有一个文件。
作业:
(1) 进入homework_1文件夹,编写脚本check_file.sh。要求:
[1] 当前目录下仅包含check_file.sh。
[2] check_file.sh具有可执行权限。
[3] check_file.sh接收一个传入参数。格式为 ./check_file.sh file
[4] 判断传递参数,分别在标准输出中输出如下内容(不包括双引号):
\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
if [ $# -ne 1 ]
then
echo arguments not valid
exit 1
fi
if [ ! -e "$1" ]
then
echo not exist
exit 2
fi
if [ -f "$1" ]
then
echo regular file
fi
if [ -d "$1" ]
then
echo directory
fi
if [ -r "$1" ]
then
echo readable
fi
if [ -w "$1" ]
then
echo writable
fi
if [ -x "$1" ]
then
echo executable
fi