Linux脚本练习之script014-判断参数文件是否为 `.sh` 后缀的普通文件,如果是,则添加所有人可执行权限,否则提示非脚本文件。
Posted 二木成林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux脚本练习之script014-判断参数文件是否为 `.sh` 后缀的普通文件,如果是,则添加所有人可执行权限,否则提示非脚本文件。相关的知识,希望对你有一定的参考价值。
script014
题目
判断参数文件是否为 .sh
后缀的普通文件,如果是,则添加所有人可执行权限,否则提示非脚本文件。
分析
本题考查的知识点:
- 自定义函数
if...else
条件判断语句$
提取文件后缀chmod
命令echo
命令
思路:
- 参数校验,校验参数个数。
- 读取第一个参数为脚本文件。
- 使用
$
提取脚本文件的后缀。 - 判断文件后缀是否是
sh
,如果是则表示该文件是一个脚本文件,则为其增加可执行权限;如果不是则给出提示信息。
脚本
#!/bin/bash
####################################
#
# 功能:判断参数文件是否为 .sh 后缀的普通文件,如果是,则添加所有人可执行权限,否则提示非脚本文件。
#
# 使用:传入一个脚本文件作为第一个参数
#
####################################
##
# 为脚本文件添加执行权限
##
function give_execute_permission()
# 参数校验
if [ $# -ne 1 ]; then
echo "请输入一个参数!"
exit
fi
# 第一个参数就是脚本文件
local script_file
script_file=$1
# 提取输入参数文件的后缀
local suffix
suffix="$script_file##*."
# 判断后缀是否是 "sh"
if [ "$suffix" = "sh" ]; then
# 如果是脚本文件则直接给所有用户添加可执行权限
chmod +x "$script_file"
else
# 如果不是脚本文件则给出提示信息
echo "文件 $script_file 不是脚本文件!"
fi
##
# 主函数
##
function main()
# 在主函数中调用
give_execute_permission "$1"
# 调用主函数
main "$1"
测试
执行 ./script014.sh 脚本文件
启动脚本,如果是 shell 脚本文件则为其新增可执行权限。
以上是关于Linux脚本练习之script014-判断参数文件是否为 `.sh` 后缀的普通文件,如果是,则添加所有人可执行权限,否则提示非脚本文件。的主要内容,如果未能解决你的问题,请参考以下文章
Linux脚本练习之script013-判断当前用户对指定参数文件,是否不可读并且不可写。
Linux脚本练习之script046-统计文件中仅包含数字的行。
Linux脚本练习之script024-判断用户输入文件路径,显示其文件类型(普通,目录,链接,其它文件类型)。
Linux脚本练习之script092- 判断输入的是否为IP地址