Shell数组和函数

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组)。

Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:

array_name=(value1 ... valuen)

2.数组常用操作
1)定义一个数组: myarray=(1 2 3 4 5);
2)读取数组的某一个元素 :

echo ${myarray[下标值]}    
# 注意数组名称必须使用{} 括起来, 下标值从0开始编号;

3)数组元素的赋值:

 myarray[下标值] = xxx  ;

4)显示数组的所有元素

echo ${myarray[*]}

5)获得数组的长度(元素的个数)

 echo    ${#array[@]}  
 或者    echo ${#array[*]}

6)删除一个数组元素

 unset myarray[下标值]

数组的遍历:
#!/bin/bash

my_arry=(a b "c","d" abc)
echo "-------FOR循环遍历输出数组--------"
for i in ${my_arry[@]};
do
  echo $i
done

数组使用方法举例

1.常规方法输出数组的所有元素,并进行独立的处理
用 ${myarray[*]} 直接输出的所有元素的个数,对数组元素进行独立操作的时候,不太方便,所以有必要。

2.有时候不知道数组中元素的个数,因此数组的长度事先是不知道的,因此此时,需要动态的扩展数组长度与空间
 
# 执行方法:脚本名server1 server2 server3 server...
 
# 获得所有参数存入数组
list=($*)
len=${#list[@]}

shell和函数的定义

扫描二维码关注公众号,回复: 4173429 查看本文章

1.linux shell 函数
将一组命令集或语句形成一个可用的块, 这些语句块称为函数。

2.shell 函数的组成

函数名:函数名字,注意一个脚本中函数名要唯一,否则会引起调用函数紊乱。
函数体: 函数内部命令的集合,实现一个业务的功能。

3.shell 函数定义的格式

function  函数名()  

# function可以省略,注意()内部不带任何参数。

{

命令1

命令2

. . .

}

四要素:

  1. 返回类型 (强)
  2. 函数名
  3. 参数列表
  4. 函数体

函数使用方法举例

1.函数定义及引用实例一: 最简单的定义及引用

function print_welcome()  #function可以去掉,注意括号里不能有参数
{
    echo "演练函数的定义及引用方法:"
    echo "welcome,now time is `date`"
}
print_welcome #函数的名字,调用

2.函数定义及引用实例二:向函数传递参数演练
向函数传递参数就像在一般脚本中使用特殊变量1, 2 … $ 9一样,函数取得所传参数后,最好先在函数内重新设置变量保存所传的参数。
程序功能:向函数传递一个变量值,对该变量值进行相关的运算,并输出结果。

function sum()
{
    a1=$1
    a2=$2
 
        
    echo "演练函数内参数的传递的方法"
    if [ $# -eq 2] #如果参数的个数等于2
        then
            echo "符合函数要求的参数个数"
            
            let sum=a1+a2
        else
            echo "函数要求的参数个数不符,请重新输入..."
    fi
    echo "$a1+$a2=$sum"
}
sum 10 90 #函数名和两个参数,调用

3.函数文件和脚本文件不在同一个文件中

 

       . ./func_3.sh      #注意格式:点 空格 函数文件地址
 

猜你喜欢

转载自www.cnblogs.com/time-to-despair/p/9995728.html
今日推荐