您当前的位置:首页 > 计算机 > 编程开发 > Shell

Shell 数组使用( 及 @ 跟 * 的区别)

时间:03-04来源:作者:点击数:
  • 数组也是一个变量,有点特殊的变量,存储多个数据的集合就是数组。
  • 不同的 shell 解释器,索引起始位置也不一样,bash 从0 开始,csh,zsh 从 1 开始。
    # 定义数组
    $ arr=(11 22 33)
    
    # bash 解释器取出数组 0 索引的值
    $ echo ${arr[0]}
    11
    
    # csh、zsh 解释器取出数组 1 索引的值
    $ echo ${arr[1]}
    11
    
  • @ 跟 * 的区别
    • 变量使用 * 时,变量被 "" 包裹,会当成一串字符串处理。
    • 变量使用 @ 时,变量被 "" 包裹,依然当做数组处理。
    • 变量在没有被 "" 包裹的情况下,@ 跟 * 是等效的.
    arr=(11 22 33)
    
    echo "---- @ 带冒号"
    for line in "${arr[@]}"
    do
      echo $line
    done
    
    echo "---- * 带冒号"
    for line in "${arr[*]}"
    do
      echo $line
    done
    
    echo "---- @ 不带冒号"
    for line in ${arr[@]}
    do
      echo $line
    done
    
    echo "---- * 不带冒号"
    for line in ${arr[*]}
    do
      echo $line
    done
    
    输出结果:
    ---- @ 带冒号
    11
    22
    33
    ---- * 带冒号
    11 22 33
    ---- @ 不带冒号
    11
    22
    33
    ---- * 不带冒号
    11
    22
    33
    
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门