阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

shell文章系列-shell脚本第十六讲

83次阅读
没有评论

共计 1693 个字符,预计需要花费 5 分钟才能阅读完成。

同学们,欢迎来到 马哥教育官网,今天我们一起来学习一下 shell 文章系列中的 shell 脚本第十六讲的内容!

1、if..else..
if 语句用来实现程序的判断,使用的语法是如下所示:
bash if condition then command else command fi
当 if 语句后面的条件为真时,那么执行的是 then 后面的那个 command 命令,当 if 语句后面的条件为假时,那么执行的是 else 后面的那个 command 命令。
根据以前我们讲的那些 shell 基础,我们再来结合 if 语句实现一个文件的判断。
我们写一个检测文件的三个读、写、执行权限的脚本

!/bin/bash
if [-z $1]; then echo "请输入一个文件" exit fi if [-r $1]; then echo "this file can read" else echo "this file is not readable" fi if [-w $1];then echo "this file can write" else echo "this file is not writable" fi if [-x $1];then echo "this file can execute" else echo "this file is not executable" fi ```
现在我们创建一个文本文件 a.py,然后仅仅赋予此文件一个 r 权限来看看。bash [Mike@localhost tmp]$ ll a.py -r--r--r-- 1 root root 429 Apr 7 11:38 a.py [Mike@localhost tmp]$ ./FileCheck.sh a.py this file can read this file is not writable this file is not executable
看到效果了吗?当我们只给文件 a.py 一个读 r 的权限时,那么检测这个文件就告诉我们文件可以读,但是不能写,也不能执行。这就是这个脚本的功能作用。2、检测当前用户是否是管理员 root,如果是就安装软件

bash
!/bin/bash
检测本机当前用户是否为超级管理员, 如果是管理员, 则使用 yum 安装 nginx, 如果不
是, 则提示您非管理员 (使用字串对比版本)
if [[“$USER” == “root”]] then yum install nginx else echo “ 您不是管理员, 没有权限安装软件 ” fi 我们使用到了 [[]] 这个判断符,我们说最好是引用变量时加上双引号。3、排序脚本给系统交互式输入三个数值,然后按照从小到大的顺序进行排序。这里我们使用到了 read - p 命令,表示交互式输入一个变量值,并赋值给变量,比如:bash [root@chaofeng tmp]# echo $NAME

[root@chaofeng tmp]

# read -p “ 请输入你得名字: ” NAME 请输入你得名字: Mike [root@chaofeng tmp]# echo $NAME Mike NAME 就是变量,把输入的名字 Mike 赋值给变量 NAME,那么在脚本中如何使用呢?bash
!/bin/bash
依次提示用户输入 3 个整数, 脚本根据数字大小依次排序输出 3 个数字
read -p “ 请输入第一个整数:” num1 read -p “ 请输入第二个整数:” num2 read -p “ 请输入第三个整数:” num3 tmp=0 if [$num1 -gt $num2];then tmp=$num1 num1=$num2 num2=$tmp fi if [$num1 -gt $num3];then tmp=$num1 num1=$num3 num3=$tmp fi if [$num2 -gt $num3];then tmp=$num2 num2=$num3 num3=$tmp fi echo “ 排序后数据(从小到大) 为:$num1,$num2,$num3” “`
现在我们执行一下:
bash [root@chaofeng tmp]# ./sort.sh 请输入第一个整数:11 请输入第二个整数:22 请输入第三个整数:18 排序后数据 (从小到大) 为:11,18,22

好啦! 今天的分享到这里就结束了。希望大家持续关注 马哥教育官网,每天都会有大量优质内容与大家分享!

声明:文章转载于网络,版权归原作者所有!

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-12-03发表,共计1693字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中