Linux学习之shell脚本编写

今天学到了shell脚本编写,看了视频挺简单的,真到自己操作了,就一大堆问题
首先文件后缀名要标记sh,脚本开头要使用#!/bin/bash,如果是别的shell后面的bash要换,
在开始编写脚本之前先要对该文件进行批注示意,一般写明该脚本编写的目的,编写日期作者
还要注明环境变量的宣告,
在编写过程中使用echo要用一些特殊转义符
例题:利用date进行文件的建立,想要把每天数据备份成不同的数据文件,然后该例题就是简单让创建文件,文件名类似这种:backup.2019-08-19.data。
编写脚本:首先名字这块用read命令-p后面跟提示语,
然后是用date变量,date="$date +%Y%m%d",
然后再用file把两个字符合起来,file=${name}.${date}即可
数值计算
使用变量=$(($变量1*$变量2))即可,里面的括号是运算式子,不一定就是两个变量相乘,可以是相除,甚至还余2都行,要用括号括起来
善用判断式
$?,上个命令的返回值,若为0,则执行成功,若不为0,则出错
test命令
标志及其意义:

  1. 对文件类型的判断
    -e,该文件是否存在
    -f,该文件是否存在且有数据
    -d,该文件名是否存在且为目录
    2.文件权限检测
    -rwxugk,读写执行SUIDSGIDSBIT的权限
    -s,检查该文件是否存在且为非空白文件
    3.两个文件的比较
    -nt,前比后新
    -ot,前比后旧
    -ef,两个文件是否是同一个文件
    4.两个整数的比较
    -eq,相等
    -ne,不等
    -gt,前大于后
    -lt,前小于后
    -ge,前大于等于后
    -le,前小于等于后
    5.判定字符串
    -z,后接字符串,判断字符串是否为0,;如果后面是空字符串,结果为真
    -n,后接字符串,判断字符串是否非0;如果后面是空字符串,结果为假
    test tr1 = tr2,若相等,回传true
    test tr1 != tr2,若相等,则回传false
    6.多重条件判定
    -a,表示and,前接判定,后接判定,都为真即真,例如,test -r file -a -x file,同时判定文件是否有可读和可执行权限
    -o,表示或者,两者有其一成立即可
    !,反相状态,test ! -x file,当file不具有可执行权限时,回传true
    简单例题1:让使用者输入完整文件名,我们来判断:
    1.若不存在,则提示不存在且中断程序
    2.若存在,则判断是普通文件还是目录
    3.输出该文件权限数据
    解答:
    在第一步中,要注意test -e的使用和!反相的配合,第二步没啥毛病,第三步要注意使用数值计算,上面说明了这里不说明
    简单例题2:
    1.执行一个程序时,让使用者输入Y或N
    2.如果用户输入Y或y,显示OK,continue
    3.如果用户输入n或N,显示Oh,interrupt!
    4.如果不是这四个字符,显示 I dont know what u said
    代码短短四行,被我写复杂了,就是按照上面要求写就行了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值