20.16

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20.16相关的知识,希望对你有一定的参考价值。

20.16 shell脚本中的函数(上)


函数,是一个子shell,代码段,定义完函数后可以引用它。

函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可。

functin f_name(){

command

}

函数必须要放在最前面

示例1

1 编写脚本

#!/bin/bash
function inp() {
  echo $1 $2  $3 $0 $#
}
input 1 a 2


解释:

#!/bin/bash

function inp() { inp是参数的名字

  echo $1 $2 $3 $0 $# $1第一个参数,$2第二个参数,$3第三个参数,$0文件的名字,$#统计参数

}

inp 1 a 2 输入函数名称inp直接调用函数,输出结果是 $1=a $2=a $3=2


2 执行输出

[[email protected] shell]# sh fun1.sh 

1 a 2 fun1.sh 3

[[email protected] shell]# sh -x fun1.sh 

+ inp 1 a 2

+ echo 1 a 2 fun1.sh 3

1 a 2 fun1.sh 3


编写第二种脚本

[[email protected] shell]# vim fun1.sh 


#!/bin/bash

function inp() {

  echo "1  $1" 

  echo "a $2"

  echo "2 $3" 

  echo "fun1.sh $0"

  echo "5 $#"

}

inp 1 a 2 3 adf


以上脚本,正确的输出结果应该是与echo里面除了$参数之外的参数对应,就是说 正常的话 应该输出是对应的.

执行过程

[[email protected] shell]# sh  fun1.sh 

1  1

a a

2 2

fun1.sh fun1.sh

5 5


另一种方法,输出$1

[[email protected] shell]# vim fun2.sh 


#!/bin/bash

function inp() {

  echo "1  $1" 

  echo "a $2"

  echo "2 $3" 

  echo "fun1.sh $0"

  echo "5 $#"

}

inp $1 $2 $3


输出变量

[[email protected] shell]# sh -x fun2.sh 1  

+ inp 1

+ echo '1  1'

1  1

+ echo 'a '

+ echo '2 '

+ echo 'fun1.sh fun2.sh'

fun1.sh fun2.sh

+ echo '5 1'

5 1

[[email protected] shell]# sh -x fun2.sh 1  2

+ inp 1 2

+ echo '1  1'

1  1

+ echo 'a 2'

a 2

+ echo '2 '

+ echo 'fun1.sh fun2.sh'

fun1.sh fun2.sh

+ echo '5 2'

5 2

[[email protected] shell]# sh -x fun2.sh 1  2 3

+ inp 1 2 3

+ echo '1  1'

1  1

+ echo 'a 2'

a 2

+ echo '2 3'

2 3

+ echo 'fun1.sh fun2.sh'

fun1.sh fun2.sh

+ echo '5 3'

5 3


以上是关于20.16的主要内容,如果未能解决你的问题,请参考以下文章

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求

20.16 20.17shell中的函数(上下);20.18 shell中的数组;20.19 告警系统需求分析

kubernetes 二进制安装(v1.20.16)验证 master 部署

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求

kubernetes 二进制安装(v1.20.16)部署 master

kubernetes 二进制安装(v1.20.16)环境准备