zoukankan      html  css  js  c++  java
  • shell小记

    1.以#!/bin/bash 开头
    2.执行方式 bash sh ./ `script`
    3.变量: 系统变量  自定义变量  --->export 可导出为全局环境变量
            set显示所有shell变量  unset 取消变量     readonly静态变量不能被unset
    4.获取命令返回值
        A=`ls -al`   =====  A=$(ls-al) -----> echo $A
    5.参数取值
        &*      全部参数
        $@        无引号时代表全部参数,有引号代表全部参数的数组
        $#        传入参数的个数
        $n        代表传入的第几个参数,0代表shell本身  第10位以上的参数${10}
        
        $$        当前进程号
        $!        后台运行的最后一个进程号
        $?        上一个命令执行的返回状态 0代表成功
    6.运算符
        $((calc))   或者   $[cals]   
        expr `clac`       直接输出了
                例:expr `expr 2 + 3` * 4    -->20
                    A=[(2+3)*4]  echo $A      -->20
                    
    7.条件判断
        [ condition ]    注意:前后有空格
        23是否大于22                          [ 23 -gt 22 ]
        test.txt是否有读权限                [ -r test.txt ]
        hive.log是否存在                    [-e /hive.log]
    8.分支语句
         if   case     

    #!/bin/bash
    if [ $1 = 123 ] ; then        不换行写分号
        echo 123
    elif [ $1 = 456 ]            换行不用写
    then
        echo 456
    else                        else不写then
        echo 666
    fi
    
    #!/bin/bash
    case $1 in 
    1)
        echo 1
    ;;                            注意双分号
    2)
        echo 2
    ;;
    *)                            没匹配的执行这个
        echo 666
    ;;
    esac    
    View Code

      for      while

    s=0
    for ((i=0;i<=100;i++))    也可 ;do 
    do
        s=$[$s+$i]
    done
    
    echo $s    
    
    for x in 1 2 3 ; do
        echo $x
    done
    
    for y in "$@"
    do     
        echo $y
    done
    
    
    
    i=0
    s=0
    while [ $i -le 100 ]   用此类型比较符
    do
        s=$[$s+$i]
        i=$[$i+1]
    done
    echo $i
    echo $s
    View Code

       
    9.控制台读入信息
        read -t 10 -p "等待10秒读入姓名" NAME     echo $NAME
    10.函数
        basename    获取文件名(去除目录部分)
        dirname        获取目录(去除文件名部分)
        
        自定义函数   function funName()
                    {    
                        方法体(没有return时,最后一条语句作为返回值,$?获取)
                    }

  • 相关阅读:
    Hive系统函数之collect_list和collect_set
    SpringBoot集成JWT实现token验证
    Hadoop添加LZO压缩支持
    常见函数封装(自用,随时更新)
    vs-code 的常用插件
    在移动端显示控制台信息
    SublimeText 3 常见快捷键
    vue的自定义指令
    修改滚动条样式
    vue、react中循环遍历为什么会有key,key有什么作用?
  • 原文地址:https://www.cnblogs.com/OnTheWay-0518/p/9717613.html
Copyright © 2011-2022 走看看