V o s a m o


Linux Shell数组

在Linux shell中经常用到数组,在Linux中,数组的表示方法为: array=(val1 val2 val3 …..)元素默认以空格符为间隔,下标从0开始。array[1]=val2

下面用一个简单的脚本说明:

#!/bin/bash

  #定义数组

  A=(a b c def)

  #把数组按字符串显示输出

  echo ${A[@]}或者echo ${A[*]}

  #屏幕显示:a b c def

  #数组的长度表示${#A[*]}

  len=${#A[*]}

  echo ${#A[*]}

  #屏幕显示:4

  #改变数组元素的值

  A[3]='vivian'

  echo ${A[*]}

  #屏幕显示:a b c vivian

  #循环输出数组元素

  i=0

  while [ $i -lt $len ]

  do

  echo ${A[$i]}

  let i++

  done

或者:

for i in ${A[@]}             //不可以是for i in $A

do
   echo $i
done

将一个字符串赋给一个数组默认是以空格分隔的

比如:

str="hello world"
array=($str)

则array[0]=”hello”,array[1]=”world”

如果希望以其他字符间隔,可以使用IFS=”间隔符”

如IFS=”,”

str="hello world,ni hao,how are you"

array=($str)

则: array[0]=”hello world”,array[1]=”ni hao”,array[2]=”how are you”

vosamo /
Published under (CC) BY-NC-SA in categories 计算机  操作系统  tagged with Linux