• Shell入门2



    一、特殊变量

    1.$n

    1.基本语法

    $n (功能描述:n 为数字,$0 代表该脚本名称,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})
    
    • 1

    2.代码展示

    $ touch parameter.sh
    $ vim parameter.sh
    #!/bin/bash
    echo '==========$n=========='
    echo $0 echo $1 echo $2
    $ chmod 777 parameter.sh
    $ ./parameter.sh cls xz
    ==========$n==========
    ./parameter.sh
    cls xz
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2.$#

    1.基本语法基本语法

    $# (功能描述:获取所有输入参数个数,常用于循环,判断参数的个数是否正确以及加强脚本的健壮性)。
    
    • 1

    2.代码展示

    $ vim parameter.sh
    #!/bin/bash
    echo '==========$n=========='
    echo $0 echo $1 echo $2
    echo '==========$#==========' echo $#
    $ chmod 777 parameter.sh
    $ ./parameter.sh cls xz
    ==========$n==========
    ./parameter.sh
    cls
    xz
    ==========$#==========
    2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3.$* $@

    1.基本语法

    $* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
    $@ (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
    
    • 1
    • 2

    2.代码展示

    $ vim parameter.sh
    #!/bin/bash
    echo '==========$n=========='
    echo $0 echo $1 echo $2
    echo '==========$#==========' echo $#
    echo '==========$*==========' echo $*
    echo '==========$@=========='
    echo $@
    $ ./parameter.sh a b c d e f g
    ==========$n==========
    ./parameter.sh
    a b
    ==========$#==========
    7
    ==========$*==========
    a b c d e f g
    ==========$@==========
    a b c d e f g
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    4.$?

    1.基本语法

    $?(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)
    
    • 1

    2.代码展示

    $ ./helloworld.sh hello world
    $ echo $?
    #运行结果:
    0
    
    • 1
    • 2
    • 3
    • 4

    二、运算符

    1.基本语法

    “$((运算式))” 或 “$[运算式]”
    
    • 1

    两个小括号==一个中括号

    2.计算(2+3)* 4 的值

    代码如下:

    S=$[(2+3)*4]
    echo $S
    
    • 1
    • 2

    三、条件判断

    1.基本语法

    1. test condition
    2. [ condition ](注意 condition 前后要有空格)注意:条件非空即为
      true,[ atguigu ]返回 true,[ ] 返回 false。

    2.常用判断条件

    1.两个整数之间比较

    语法解释
    -eq等于
    -ne不等于
    -lt小于
    -le小于 等于
    -gt大于
    -ge大于 等于
    注:如果是字符串之间的比较,用等号“=”判断相等;用“!=”判断不等。

    2.按照文件权限进行判断

    语法解释
    -r有读的权限
    -w有写的权限
    -x有执行的权限

    3.按照文件类型进行判断

    语法解释
    -e文件存在
    -f文件存在并且是一个常规的文件
    -d文件存在并且是一个目录
  • 相关阅读:
    nginx测试rewrite
    算法通关村第十八关——回溯
    文件系统类数据读取与保存HBase_大数据培训
    Flutter:计数器应用分析
    如何走出自动化测试第一步?
    品牌线上控价,如何平台投诉
    L3-006 迎风一刀斩
    Spring的事务传播机制
    mysql数据库SQL语句大全详解(下)
    从零学习Python:json和文件操作
  • 原文地址:https://blog.csdn.net/m0_56969616/article/details/125626088