shell教程

作者: 烤奶要加冰 | 来源:发表于2019-08-10 13:23 被阅读21次

    shell是一个用C语言编写的程序,是一种命令语言,是一种服务器语言。

    变量

    • 定义:name="shangsan"
    • 销毁:unset name
    • 打印:echo $name 或者 echo ${name}
    • 定义常量:readonly Pi=3.14

    定义变量的时候,“=”两边不能有空格;变量被销毁后不能再使用。

    注意:
    在shell中,加单引号的字符不会被解析;
    加双引号的字符,特殊符号不会被解析,如:$,\;
    使用反引号,会作为命令使用。

    变量分类

    • 本地变量
      脚本文件中的变量。
    • 环境变量
      整个系统都可以使用的变量。
      a. 家目录下的隐藏文件.bashrc
      b.将export PATH=$PATH:脚本的路径
      c.source ~/.profile 让所有文件生效
    • 位置变量
      $0:表示脚本名字
      $1~9:传递给脚本的参数
      $*:匹配到的所有参数
    • 特殊变量
      $#:传递给脚本的参数个数
      $?:返回上次执行命令的结果,0表示成功,其他表示错误

    数值计算

    a=1
    let a+=1
    #((a+=1))
    echo $a
    

    分支语句、循环

    • 比较符号
      -lt 小于
      -le 小于等于
      -gt 大于
      -ge 大于等于
      -eq 等于
      -ne 不等于
    if [ 1 -lt 3 -a 2 -lt 3 ];then
        echo "ok"
    fi
    
    if [ 1 -lt 3 ] && [ 2 -lt 3 ];then
        echo "ok2"
    fi
    
    if [ ! 1 -gt 3 ];then
        echo "ok3"
    fi
    
    • 逻辑符号
      -a 逻辑与,可以使用&&
      -o 逻辑或,可以使用||
      ! 逻辑非
    ##分支1
    if [ 1 -lt 2 ];then
        echo "ok"
    fi
    
    if test 1 -lt 2;then
        echo "ok"
    fi
    
    ##分支2
    if [ 1 -gt 2 ];then
        echo 1
    elif [ 3 -gt 2 ];then
        echo 2
    else
        echo 3
    fi
    
    ##分支3
    read  -p "please input a character:" ch
    
    case $ch in
        [a-z])
            echo "xxx"
        ;;
        [0-9])
            echo "number"
        ;;
        *)
            echo "other"
        ;;
    esac
    

    if语句中,若使用[],则必须要注意“[“右边加一个空格,“]”左边加一个空格

    a=(1 2 3)
    #for x in ${a[*]}    #写法1
    
    #for x in 1 2 3     #写法2
    
    #for x in /etc/*     #写法3
    
    for x in {1..5}       #写法4
    
    do
        echo $x
    done
    

    总结:shell也是一门语言,一些语句的写法与用法大都与Python大同小异。学习一门语言之前,先要从掌握基础开始,此次就是多练习,才算是入门。

    相关文章

      网友评论

        本文标题:shell教程

        本文链接:https://www.haomeiwen.com/subject/qxxrjctx.html