zoukankan      html  css  js  c++  java
  • bash shell相关命令记录(2)---注释、字符串、数组

    参考链接http://c.biancheng.net/cpp/view/7000.html

    1、shell注释

    以“#”开头的行就是注释,会被解释器忽略。sh里没有多行注释,只能每一行加一个#号。

    如果在开发过程中,遇到大段的代码需要临时注释起来,过一会儿又取消注释,怎么办呢?每一行加个#符号太费力了,可以使用

    : << !

    语句1

    语句2

    语句3

    语句4

    !

    或者

    : '

    语句1

    语句2

    语句3

    '

    2、字符串

    字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号。

    单引号字符串的限制:

    • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
    • 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。

    双引号的优点:

    • 双引号里可以有变量
    • 双引号里可以出现转义字符

    (1)拼接字符串

    your_name="qinjx"
    greeting="hello, "$your_name" !"
    greeting_1="hello, ${your_name} !"
    
    echo $greeting $greeting_1    结果输出内容一样

    (2)获取字符串长度

    string="abcd"
    echo ${#string} #输出 4

    (3)提取子字符串

    string="alibaba is a great company"
    echo ${string:1:4} #输出liba

     3、数组

    bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0

    (1)定义数组

    在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:
        array_name=(value1 ... valuen)

    array_name=(value0 value1 value2 value3)
    
    或者
    array_name=(
    value0
    value1
    value2
    value3
    )

    还可以单独定义数组的各个分量:

    array_name[0]=value0
    array_name[1]=value1
    array_name[2]=value2

    可以不使用连续的下标,而且下标的范围没有限制。

    (2)读取数组

    读取数组元素值的一般格式是:
        ${array_name[index]}

    #!/bin/sh
    
    NAME[0]="Zara"
    NAME[1]="Qadir"
    NAME[2]="Mahnaz"
    NAME[3]="Ayan"
    NAME[4]="Daisy"
    echo "First Index: ${NAME[1]}"
    echo "Second Index: ${NAME[2]}"
    
    输出结果
    First Index: Zara
    Second Index: Qadir
    如果使用
    NAME=(Zara Qadir Mahnaz Ayan Daisy)
    echo "First Index: ${NAME[2]}"
    echo "Second Index: ${NAME[4]}"
    输出结果为
    First Index: Mahnaz
    Second Index: Daisy
    记住其序号是从0开始的。

    使用@ 或 * 可以获取数组中的所有元素,例如:

    ${array_name[*]}
    ${array_name[@]}

    (3)获取数组的长度

    获取数组长度的方法与获取字符串长度的方法相同

    # 取得数组元素的个数
    length=${#array_name[@]}
    # 或者
    length=${#array_name[*]}
    # 取得数组单个元素的长度
    lengthn=${#array_name[n]}

    学习自http://c.biancheng.net/cpp/view/7002.html

  • 相关阅读:
    vue视图更新---this.$set方法
    v-bind绑定属性样式——class的三种绑定方式
    摸鱼玩PS
    introduce to reinforcement learning ppt
    difference between sparse_softmax_cross_entropy_with_logits and softmax_cross_entropy_with_logits
    Tensorflow Keras tutotrials01
    一句话
    String字符串相关方法
    算是日记吧
    骑行入门
  • 原文地址:https://www.cnblogs.com/chxmtl/p/12559150.html
Copyright © 2011-2022 走看看