shell 函数

目录

  shell 函数

  shell 函数参数

shell 函数

shell 函数语法:

[ function ] funname [()]

{
    do something;
    [return int;]
} 

note:

  1) function 可有可无.

  2)return 可有可无,没有默认返回最后一条命令的结果。return后跟数值(0-255).

  3)函数返回值,在调用函数后,使用$?来获取

shell 函数调用:

  函数名即可。

shell 函数参数:

shell函数可以接受参数,函数内部用$n获取参数的值,外部参数通过空格隔开

#/bin/bash

demoFun(){
        echo "file name: $0"
        echo "The first parameter: $1"
        echo "secondly: $2"
        echo "ten: $10"
        echo "ten: ${10}"
        echo "*: $*"
        echo "@: $@"
        echo "#参数的个数: $#"
        return 1
}
demoFun 1 2 3 4 5 6 7 8 9 22 33
echo $?

结果:

file name: ./test.sh
The first parameter: 1
secondly: 2
ten: 10
ten: 22
*: 1 2 3 4 5 6 7 8 9 22 33
@: 1 2 3 4 5 6 7 8 9 22 33
#参数的个数: 11
1

note:

  当获取的参数大于等于10的时候,要用${n}来获取参数的值.

说明:

  $0:    文件的名字

  $#:  传递给函数或脚本的个数

  $@:与$*相同,但是使用时加引号,并在引号中返回每个参数。

  $*:   以一个单字符串显示所有向脚本传递的参数

$@和$*的区别

相同点:

  当 $* 和 $@ 不被双引号" "包围时,它们之间没有任何区别,都是将接收到的每个参数看做一份数据,彼此之间以空格来分隔。
不同点:
  但是当它们被双引号" "包含时,就会有区别了:

  "$*"会将所有的参数从整体上看做一份数据,而不是把每个参数都看做一份数据。

  "$@"仍然将每个参数都看作一份数据,彼此之间是独立的。

 

  

 

posted @ 2022-03-16 09:13  zhuang6  阅读(14)  评论(0编辑  收藏  举报