shell命令

if
    格式1:
        if 判断条件
        then
            判断为true执行的代码 
        fi
    格式2:
        if 判断条件
        then
            判断为true执行的代码 
        else
            判断为false执行的代码 
        fi
    格式3:
        if 判断条件
        then
            判断为true执行的代码 
        elif 判断条件
        then
            判断为true执行的代码 
            。。。
        else
            判断为false执行的代码 
        fi
        注意:else可加可不加
判断条件的写法
    []:[]两边加空格,符号两边加空格并且符号前加转义符
        可以使用字母
    [[]]:[[]]两边加空格,符号两边加空格
        可以使用字母
    ():弃用
    (()):不需要加空格,但是不能使用字母
        在使用变量时,不需要使用$

for
    java格式:
        for ((初始化变量;判断条件;控制语句))    
        do
            执行语句
        done    
    python格式:
        for 变量 in 结果集
        do
            执行语句
        done
    结果集:
        {开始..结束}含头含尾,不能引用变量
        `seq 开始 结束`含头含尾
例如:获取1-100的奇数和偶数和
    jsum=0
    osum=0
    for i in {1..100}
    do
            if ((${i}%2==0))
            then
                    #osum+=${i} 结果做了拼接 不是算术运算
                    #osum=`expr ${i} + ${osum}`
                    #osum=$[${i}+${osum}]
                    let osum+=i

            else
                    let jsum+=i
            fi
    done
    echo 偶数和为:${osum}
    echo 奇数和为:${jsum}
    注意:
        使用let在计算时可以直接使用变量

数组:存储多个元素,数据类型可以不同,元素元素之间以空格切分
    操作
        通过下标获取数据
            格式:
                ${数组[下标]}
            注意:
                直接引用数组变量,默认获取下标为0的元素
                下标使用*表示获取所有
        获取长度:
            格式:
                ${#数组[*]}

read:键盘录入
    格式:
        read 变量1 变量2 ...变量n
    注意:
        键盘录入时,允许给多个变量进行赋值,值和值之间以空格切分    

打印三角形
    for i in {1..5}
    do
            for j in `seq 1 ${i}`
            do
                    echo -n "* "
            done
            echo ""
    done

函数
    格式:
    function 方法名(){
        方法体
        return 数字;
    }
    注意:function和return可加可不加
        $0...$n表示接收参数,$0永远是脚本名称(忽略)
        方法的调用直接使用方法名不加()
        return只能返回数字范围在0-255之间
        $?接收返回值只能接收一次

获取当前日期时间
    ate +"%Y-%m-%d %H:%M:%S"

格式化日期时间:
    date -d today +"%Y-%m-%d %H:%M:%S"

加减日期时间
    date +%Y%m%d        //显示前天年月日
    date +%Y%m%d --date="+1 day"  //显示前一天的日期
    date +%Y%m%d --date="-1 day"  //显示后一天的日期
    date +%Y%m%d --date="-1 month"  //显示上一月的日期
    date +%Y%m%d --date="+1 month"  //显示下一月的日期
    date +%Y%m%d --date="-1 year"  //显示前一年的日期
    date +%Y%m%d --date="+1 year"  //显示下一年的日期

重定向:执行命令的结果写写入到文件
    
    标准输入文件(stdin):stdin的文件描述符为0,默认从stdin读取数据。
    标准输出文件(stdout):stdout 的文件描述符为1,默认向stdout输出数据。
    标准错误文件(stderr):stderr的文件描述符为2,向stderr流中写入错误信息。

    使用>,>>默认是把正确信息写入文件
    想要把错误信息和正确信息写入文件需要后面追加2>&1(把错误信息当做正确信息去处理)


定时器:
    格式:
        *(分钟) *(小时) *(星期) *(几号) *(月份) commend

    通过crontab -e添加定时任务
    查看定时任务是否执行了,看日志tail -f /var/log/cron
    注意:
        定时器或脚本中涉及到路劲的全部给绝对路劲

    * * * * *         每分钟
    */1 * * * *     每分钟
    0 */1 * * *        每小时
eg1)mkdir shell
vim test.txt---:wq
vim show.sh
echo "helloworld" >> test.txt#重定向
sh show.sh
sh show.sh#执行文件将helloworld写入test.txt文件中,有几个代码写几次
cat test.txt#查看test.txt文件的代码
=====================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值