shell函数_shell函数返回值 - CSDN
精华内容
参与话题
  • shell脚本之函数

    千次阅读 2019-02-12 14:56:54
    函数: 1.语法 方法1: 函数名() { 函数体 return n } 方法2:(更加规范) function 函数名() { 函数体 return n } [root@localhost mnt]# vim 01_function.sh ##################### #!...

    函数:

    通过使用函数,可以对程序进行更加好的组织。将一些相对独立的代码变成函数,
    可以提高程序的可读性和重用性。避免重复编写大量相同的代码。
    

    1.语法

    方法1:
    
    函数名() {
       函数体
       return n
    }
    
    方法2:(更加规范)
    
    function 函数名() {
         函数体
         return n    
    }
    
    [root@localhost mnt]# vim 01_function.sh 
    #####################
    #!/bin/bash
    
    function fun1(){
        echo "hello shell!"
    }
    
    fun1
    

    在这里插入图片描述

    [root@localhost mnt]# sh 01_function.sh 
    hello shell!
    

    在这里插入图片描述
    2.调用函数

    [root@localhost mnt]# vim 02_function.sh 
    #####################
    #!/bin/bash
    
    function fun1() {
        echo "I like you"
    }
    
    count=1
    while [ $count -le 5 ]
    do
        fun1
        ((count++))
    done
    
    echo "Eed of loop" 
    
    fun1
    
    echo "Eed of scritp" 
    

    在这里插入图片描述

    #  若是加-x表示调试
    [root@localhost mnt]# sh 02_function.sh 
    

    在这里插入图片描述
    3.引用函数

    每次引用函数时,bash会重新回到函数的定义
    
    函数不一定要要在最开始定义,但是如果函数在定义之前便使用会报错
    
    [root@localhost mnt]# vim 03_function.sh 
    #####################
    #!/bin/bash
    
    count=1
    echo "Before function definition"
    
    function fun1(){
        echo "hello fun1"
    }
    
    while [ $count -le 5 ]
    do
        fun1
        count=$[ $count + 1 ]
    done
    
    echo "End of loop"
    
    fun2
    
    function fun2() {
        echo "hello fun2"
    }
    

    在这里插入图片描述

    [root@localhost mnt]# sh 03_function.sh 
    

    在这里插入图片描述

    函数名必须是唯一的,如果重复定义了有相同名字的函数,则新定义的函数就会覆盖旧的函数
    
    [root@localhost mnt]# vim 04_function.sh 
    #####################
    #!/bin/bash
    
    function fun1(){
        echo "first fun1"
    }
    function fun1(){
        echo "second fun1"
    }
    function fun1(){
        echo "third fun1"
    }
    
    fun1
    

    在这里插入图片描述

    [root@localhost mnt]# sh 04_function.sh 
    third fun1
    

    在这里插入图片描述
    4.返回值

    (1)默认退出状态码

    默认退出状态码:默认情况下,函数退出状态码是函数中最后一条命令返回的退出状态码
    
    [root@localhost mnt]# ls -l westosfile
    ls: cannot access westosfile: No such file or directory
    [root@localhost mnt]# vim func_exit_01.sh 
    #####################
    #!/bin/bash
    
    function fun1(){
        echo "Trying to display a non-existent file"
        ls -l westosfile &> /dev/null
    }
    
    echo "test the function"
    fun1
    echo "The exit status is: $?"
    
    #  $? 在循环中表示获取循环体中最后一条语句执行状态的返回值
          0表示成功,非0表示失败
    

    在这里插入图片描述

    [root@localhost mnt]# sh func_exit_01.sh 
    

    在这里插入图片描述

    ##调换语句
    [root@localhost mnt]# vim func_exit_01.sh
    #####################
    #!/bin/bash
    
    function fun1(){
        ls -l westosfile &> /dev/null
        echo "Trying to display a non-existent file"  ##输出语句一定是正确的
    }
    
    echo "test the function"
    fun1
    echo "The exit status is: $?"
    

    在这里插入图片描述

    [root@localhost mnt]# sh func_exit_01.sh 
    

    在这里插入图片描述
    (2)return命令

    shell使用return命令来退出函数并返回特定的退出状态码
    自定义返回值范围:  0-255之间
    
    [root@localhost mnt]# vim func_exit_return_01.sh
    #####################
    #!/bin/bash
    
    function func(){
        read -p "Enter a value: " value
        echo "doubling the value..."
        return $[ $value * 2 ]      ##用return自定义返回值
    }
    
    func
    
    echo "The new value is $?"
    

    在这里插入图片描述

    [root@localhost mnt]# sh func_exit_return_01.sh 
    

    在这里插入图片描述
    (3)函数输出

    使用函数输出将函数的输出保存在shell变量中,可以获得任何类型的函数输出,并将其保存到变量中
    
    [root@localhost mnt]# vim function_variate.sh
    #####################
    #!/bin/bash
    
    function db1() {
        read -p "Enter a value:" value
        echo $[ $value * 2 ] 
    }
    
    result=`db1`
    
    echo "The new value is $result" 
    

    在这里插入图片描述

    [root@localhost mnt]# sh function_variate.sh 
    

    在这里插入图片描述
    (4)函数中的变量

    函数中的变量:可以向函数传递参数
    

    练习1:

    定义算法,当脚本后什么都不输入时,输出-1,当脚本后输入一个数字时,把这个数字扩大2倍,当输入两个数字时,把这两个数字相加
    
    [root@localhost mnt]# vim function_value_01.sh
    #####################
    #!/bin/bash
    
    a=$1     #接收脚本后的第一串字符
    b=$2     #接收脚本后的第二串字符
    c=$#     ##记录脚本后输入字符的个数
    
    function add() {
        if [ "$c" == 0 ];then
             echo "-1"        
         elif [ "$c" == 1 ];then
             echo  $[ a + a ]    
         elif [ "$c" == 2 ];then
             echo  $[ a + b ]   
         else
           echo "error" 
         fi
    }
    
    add
    

    在这里插入图片描述

    [root@localhost mnt]# sh function_value_01.sh 
    

    在这里插入图片描述
    练习2:

    定义算法,当用户的输入不符合输入要求时,告诉用户具体用法,当输入正确时,计算乘积
    
    [root@localhost mnt]# vim function_value_02.sh
    #####################
    #!/bin/bash
    
    function fun1() {
        echo $[ $1 * $2 ] 
    }
    if [ $# -eq 2 ];then
        value=`fun1 $1 $2`
        echo "The result is $value" 
    else
        echo "Usage:fun1 a b" 
    fi
    
    #   $# 表示脚本后输入字符的个数
    

    在这里插入图片描述

    [root@localhost mnt]# sh function_value_02.sh 
    

    在这里插入图片描述
    (5)函数不能从命令行获取脚本的参数值

    [root@localhost mnt]# vim function_value_03.sh
    #####################
    #!/bin/bash
    
    read -p "Enter a value:" value
    
    function fun1(){
         db1=$[ $value * 2 ]
     }
    
    fun1
    
    echo "The new value is:" $value
    

    5.变量的作用域

    (1)全局变量

    全局变量:定义在函数体之外,任何地方都生效的变量,默认情况下,脚本主体内定义全局变量,函数内可以用,函数外也可以
    
    [root@localhost mnt]# vim function_all_01.sh
    #####################
    #!/bin/bash
    
    function fun1(){
         temp=$[ $value + 5 ]
         result=$[ $temp *2 ]
     }
    
    # 定义全局变量
    temp=4
    value=6
    
    fun1
    
    echo "The result is $result" 
    if [ $temp -gt $value ];then
        echo "temp is lager" 
    else
        echo "temp is smaller" 
    fi
    

    在这里插入图片描述

    [root@localhost mnt]# sh function_all_01.sh 
    

    在这里插入图片描述
    (2)局部变量

    局部变量:定义在函数体内部,仅在函数内部可以使用
    
    [root@localhost mnt]# vim function_local_01.sh
    #####################
    #!/bin/bash
    
    function fun1(){
        local temp=$[ $value + 5 ]    # 声明temp为局部变量
        result=$[ $temp *2 ]
    }
    
    temp=4
    value=6
    
    fun1
    
    echo "The result is $result" 
    
    if [ $temp -gt $value ];then
        echo "temp is lager" 
    else
        echo "temp is smaller"      
    fi
    

    在这里插入图片描述

    [root@localhost mnt]# sh function_local_01.sh 
    

    在这里插入图片描述
    6.函数的递归

    计算阶乘:

    注意:  0!=1  1! =1
    
    [root@localhost mnt]# vim function_factorial.sh
    #####################
    #!/bin/bash
    
    function jc(){
        if [ $1 -eq 1 ];then
            echo 1 
        elif [ $1 -eq 0 ];then
            echo 1 
        else
            local temp=$[ $1 - 1 ]
            local result=`jc $temp`
            echo $[ result * $1 ] 
        fi
    }
    
    read -p "Enter a value: " value
    
    result=`jc $value`
    
    echo "The jc of $value is: $result"  
    

    在这里插入图片描述

    [root@localhost mnt]# sh function_factorial.sh
    

    在这里插入图片描述

    展开全文
  • Shell函数的定义和使用

    千次阅读 2018-04-12 22:00:43
    函数的定义在Shell中可以通过下面的两种语法来定义函数,分别如下:function_name () { statement1 statement2 .... statementn }或者function function_name() { statement1 statement2 .... statementn }...

    函数的定义

    在Shell中可以通过下面的两种语法来定义函数,分别如下:

    function_name ()
    {
        statement1
        statement2
        ....
        statementn
    }

    或者

    function function_name()
    {
       statement1
       statement2
       ....
       statementn
    }

    函数的调用

    当某个函数定义好了以后,用户就可以通过函数名来调用该函数了。在Shell中,函数调用的基本语法如下,

    function_name parm1 parm2

    下面定义了一个 sayhell()的方法,并调用

    #! /bin/bash
    function sayhello()
    {
      echo "Hello,World"
    }
    sayhello

    代码调用结果

    [root@VM_156_149_centos shell]# sh hello.sh 
    Hello,World

    函数的返回值

    首先,用户利用return来返回某个数值,这个与绝大部分的程序设计语言是相同的。但是 在Shell中,return语句只能返回某个0-255之间的整数值。在Shell中还有一种更优雅的方法帮助用户来获得函数执行后的某个结果,那就是使用echo。在函数中,用户需要将要返回的数据写入到标准输出(stout),通常这个操作是使用echo语句来完成的,然后在调用程序中将函数的执行结果赋值给一个变量。这种做法实际上就是一个命令替换的一个变种。

    函数使用return返回值

    函数的定义

    #! /bin/bash
    
    function sum()
    {
      returnValue=$(( $1 + $2 ))
      return $returnValue
    }
    
    sum 22 4
    
    echo $?

    函数的调用

    [root@VM_156_149_centos shell]# sh sum.sh 
    26

    函数返回值大于0-255,出错的情况

    在上面的执行结果可以看到,所传递的两个数的和被成功的返回。但是通过return只能返回整数值,并且是0-255的范围,如果超出这个范围就会错误的结果。例如将上面的代码换成下面的参数

    sum 253 4

    则执行结果如下,

    [root@VM_156_149_centos shell]# sh sum.sh 
    1

    可以发现,正确的结果应该是257,但是函数的返回值是1.

    函数使用echo返回值

    函数的定义

    #! /bin/bash
    
    function length()
    {
      str=$1
      result=0
      if [ "$str" != "" ] ; then
          result=${#str}
      fi
      echo "$result"
    }
    
    len=$(length "abc123")
    
    echo "The string's length is $len "

    函数的调用

    [root@VM_156_149_centos shell]# sh length.sh  
    The string's length is 6 




    展开全文
  • shell 函数

    千次阅读 2018-11-14 11:29:17
    function 函数名() { #<==推荐的书写函数的方法(带括号) 指令…… return n } #简化写法1: function 函数名{ #<==不推荐使用此方法(无括号) 指令…… return n } #...

    shell函数语法

    语法:

    #其标准写法为:
    function 函数名() { #<==推荐的书写函数的方法(带括号)
    	指令……
    	return n
    }
    #简化写法1:
    function 函数名{ #<==不推荐使用此方法(无括号)
    	指令……
    	return n
    }
    #简化写法2:
    函数名() { #<==不用function的方法
    	指令……
    	return n
    }
    

    示例 vim fun.sh

    #! /bin/bash
    
    function say    ( )  {	echo 'say hello'; }
    
    say
    

    美观写法

    #! /bin/bash
    
    function say()
    {	
    	echo 'say hello'
    }
    
    say
    
    • 方法名后面可以有多个空格
    • 括号内可以有多个空格
    • 括号可以不要,但是为了美观,建议加上括号
    • 如果方法体写成一行,需要在语句后面加分号“;”

    shell函数的执行

    执行不带参数的函数,直接输入函数名即可

    函数名
    
    • 执行不带参数的函数时,直接输入函数名即可(注意不带小括号)
    • 函数的定义必须在要执行的程序前面定义或加载
    • Shell执行系统中各种程序的执行顺序为:系统别名→函数→系统命令→可执行文件
    • 函数执行时,会和调用它的脚本共用变量,也可以为函数设定局部变量及特殊位置参数。
    • 在Shell函数里面,return命令的功能与exit类似,return的作用是退出函数,而exit是退出脚本文件。
    • return语句会返回一个退出值(即返回值)给调用函数的当前程序,而exit会返回一个退出值(即返回值)给执行程序的当前Shell。
    • 如果将函数存放在独立的文件中,被脚本加载使用时,需要使用source或“.”来加载。
    • 在函数内一般使用local定义局部变量,这些变量离开函数后就会消失。

    带参数的函数执行方法,格式如下:

    函数名 参数1 参数2
    
    • shell的位置参数($1、$2…、$#、$*、$?及$@)都可以作为函数的参数来使用。
    • 此时父脚本的参数临时第被函数参数所掩盖或隐藏。
    • $0比较特殊,它仍然是父脚本的名称。
    • 当函数执行完成时,原来的命令行脚本的参数即可恢复。
    • 函数的参数变量是在函数体里面定义的

    利用shell开发检测url脚本:
    实现脚本传参,检查Web URL是否正常。

    #! /bin/sh
    
    #判断传参个数是否为1个。
    if [ $# -ne 1 ];then
    	echo $"usage:$0 url"
    	exit 1
    fi
    
    wget --spider -q -o /dev/null --tries=1 -T 5 $1
    #<==--spider 当使用此选项调用时,Wget将表现为Web蜘蛛,这意味着它不会下载页面,只需检查它们是否存在。
    #<==-q 关掉Wget的输出。
    #<==--tries 重试次数。无限重试指定0。默认情况是重试20次,但“拒绝连接”或“未找到”(404)等致命错误除外。
    #<==-T指定超时时间,这里的$1为脚本的参数。
    
    if [ $? -eq 0 ];then
    	echo "$1 is yes."
    else
    	echo "$1 is no."
    fi
    

    将上述检测的功能写成函数,并将函数传参转换成脚本命令行传参,判断任意指定的URL是否存在异常。

    #! /bin/sh
    
    function usage(){ #<==帮助函数。
    	echo $"usage:$0 url"
    	exit 1
    }
    
    function check_url(){ #<==检测URL函数。
    	wget --spider -q -o /dev/null --tries=1 -T 5 $1
    	#<==--spider 当使用此选项调用时,Wget将表现为Web蜘蛛,这意味着它不会下载页面,只需检查它们是否存在。
    	#<==-q 关掉Wget的输出。
    	#<==--tries 重试次数。无限重试指定0。默认情况是重试20次,但“拒绝连接”或“未找到”(404)等致命错误除外。
    	#<==-T指定超时时间,这里的$1为脚本的参数。
    
    	if [ $? -eq 0 ];then
    		echo "$1 is yes."
    	else
    		echo "$1 is no."
    	fi
    }
    
    function main(){ #<==主函数。
    	if [ $# -ne 1 ] #<==如果传入的是多个参数,则打印帮助函数,提示用户。
    	then
    		usage
    	fi
    	check_url $1 #<==接收函数的传参,即把下文main结尾的$*传到这里。
    }
    
    main $* #<==这里的$*就是把命令行接收的所有参数作为函数参数传给函
    

    运行脚本

    [sy@sy-pc script]$ ./func.sh https://www.baidu.com
    https://www.baidu.com is yes.
    

    引入系统函数库

    #! /bin/sh
    
    . /etc/init.d/functions #<==引入系统函数库
    
    function usage(){ #<==帮助函数。
    	echo $"usage:$0 url"
    	exit 1
    }
    
    function check_url(){ #<==检测URL函数。
    	wget --spider -q -o /dev/null --tries=1 -T 5 $1
    	#<==--spider 当使用此选项调用时,Wget将表现为Web蜘蛛,这意味着它不会下载页面,只需检查它们是否存在。
    	#<==-q 关掉Wget的输出。
    	#<==--tries 重试次数。无限重试指定0。默认情况是重试20次,但“拒绝连接”或“未找到”(404)等致命错误除外。
    	#<==-T指定超时时间,这里的$1为脚本的参数。
    
    	if [ $? -eq 0 ];then
    		action "$1 is yes." /bin/true  #<==这里的action就是在脚本开头引入系统函数库后调用的。
    	else
    		action "$1 is no." /bin/false
    	fi
    }
    
    function main(){ #<==主函数。
    	if [ $# -ne 1 ] #<==如果传入的是多个参数,则打印帮助函数,提示用户。
    	then
    		usage
    	fi
    	check_url $1 #<==接收函数的传参,即把下文main结尾的$*传到这里。
    }
    
    main $* #<==这里的$*就是把命令行接收的所有参数作为函数参数传给函
    

    运行结果

    [sy@sy-pc script]$ ./8_6.sh https://www.dubai.com
    https://www.dubai.com is yes. [  OK  ]
    [sy@sy-pc script]$ ./8_6.sh https://www.bbbbbbbb.com
    https://www.bbbbbbbb.com is no. [FAILED]
    

    参考:
    [1]《跟老男孩学Linux变成:shell编程实战》

    展开全文
  • shell函数的定义

    千次阅读 2018-03-26 17:35:59
    1.shell中定义函数的方式:示例1:funtion name {command1command2....}示例2:name () {command1command2...}取消函数:unset -f +函数名2.向函数中传递参数:示例:#!/bin/bashtest (){ a=$1 echo "test ()...

    1.shell中定义函数的方式:

    示例1:funtion name {

    command1

    command2

    ....

    }

    示例2:name () {

    command1

    command2

    ...

    }

    取消函数:unset -f +函数名

    2.向函数中传递参数:

    示例:

    #!/bin/bash
    test ()
    {
      a=$1
      echo "test (): \$0 is $0"
      echo "test (): \$1 is $1"
      echo "test (): \$a is $a"
      echo "test (): total args give to me $#"
      echo "test (): all args \$* give to me $*"
    }

    test one                     #调用函数,并向函数中传递一个参数one       

    test one tow three     #调用函数,并向函数中传递三个参数one tow three  


    3.在函数中定义本地变量,只在函数内部生效:

    使用local命令可以在函数内部定义变量,且只在函数内部生效

    示例:#!/bin/bash
    a=/etc/passwd
    local_test () {
      local a=$1                     #使用local命令定义本地变量
      echo "local_test():a is set to $a"
    }
    echo "before calling local_test a is set to $a"    #调用函数前输出一次$a
    local_test /var/log/secure

    echo "after calling local_test a is set to $a"     #调用函数后输出一次$a,两次输出的$a相同,说明函数调用后a的值未变


    4.函数的返回值:

    示例:

    #!/bin/bash
    checkpid () {                       #定义一个函数,判断给定的pid,对应的进程是否在运行
     local i
     for i in $*
     do
       if [[ -d "/proc/$*" ]];then    #在Linux中,如果进程正在运行,则在/proc目录下会存在一个以进程号命名的子目录
          return 0                #如果进程在运行则返回0,函数不再向下进行,并且返回到shell脚本中调用函数位置的下一个命令
       fi
     done
     return 1                     #如果最终没有检测到在运行的进程,函数结束,返回1
    }
    for a in $*                   #遍历用户给定的位置参数
    do
      checkpid $a             #调用checkpid函数,检查对应的进程是否在运行
      if [ $? -eq 0 ];then    #根据函数的返回值做判断
        echo "the pid $a existed"       
      else
        echo "the pid $a not existed "
      fi

    done


    5.函数的调用:

    示例1:在脚本中调用函数

    #!/bin/bash
    yday ( ) {
      date -d "3 days ago"
    }

    yday               #在脚本中直接调用函数(函数必须要先定义再调用)


    示例2:从函数文件中调用函数

    第一步:定义一个函数文件

    #!/bin/bash
    declare -r TRUE=0
    declare -r FALSE=1
    declare -r PASSWD_FILE=/etc/passwd


    to_lower ( ) {                           #定义一个函数,将参数转换为小写

       local str="$*"
       local output=`tr '[A-Z]' '[a-z]'<<< $str`
       echo $output
    }


    is_root ( ) {                              #定义一个函数,判断当前用户是否为root

       ID=`id -u`
       if [ $ID -eq 0 ];then
          return $TRUE
       else
          return $FALSE
       fi
    }


    is_user_exits ( ) {               #定义一个函数,判断给定的用户是否存在

      local u=$1

      grep "$u"  $PASSWD_FILE  &> /dev/null

      if [ $? -eq 0 ];then

          return $TRUE

       else

          return $FALSE
      fi
    }

    第二步:在脚本中调用函数

    #!/bin/bash
    .  /root/shell/myfunction.sh      #从函数的绝对路径调用函数
    var="HELLO WORLD"
    is_root && echo "this root" || echo "not root"       #判断当前用户是否为root
    is_user_exits "damao" && echo "account found" || echo "account not found"     #判断用户damao是否存在
    echo -e "original quote :\n$var"

    echo -e "lower version :\n`to_lower $var`"              #将变量var的值转换成小写


    6.将函数放入后台执行:

    示例:

    #!/bin/bash
    jindu ( ) {                                #定义一个进度条,每5秒输出一个..
       echo -n "$0: please wait..."
       while true
       do
         echo -n ".."
         sleep 5
       done
    }


    backup ( ) {                          #定义一个函数,对/root/目录做备份
       tar -zcvf   /data/root.tar.gz  /root/*  &>/dev/null
    }


    jindu &                               #调用jindu函数放入后台

    Pid=$!                                 #将进度函数的进程号复制给变量Pid

    backup                                #调用backup函数进行备份
    kill $Pid  &>/dev/null         #备份结束后杀死jindu函数的进程
    echo -n "done"                   #不换行输出一个done

    echo                                    #输出一个换行符


    展开全文
  • 函数可以确保命令循环执行,可以解决命令多重复的情况,函数用来简化脚本,使脚本可以循环执行 1.函数的语法 (1)方法1 函数名(){ 函数体 return n } (2)方法2(这样比较规范) function 函数名(){ ...
  • Shell函数

    2020-07-21 09:46:40
    1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255... echo "---函数结束执行---
  • shell中的函数

    千次阅读 2020-02-12 19:45:44
    文章目录shell中的函数1.shell函数格式2.函数的调用3.函数的参数 1.shell函数格式 shell函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好,放在指定位置,使用时直接调用即可。 shell中的函数和C++、...
  • Shell 函数

    千次阅读 2018-06-27 09:31:04
    系统函数basename 获取文件名,返回绝对路径最后/的部分basename [pathname] [suffix]basename [string] [suffix]basename /root/shell/myShell.sh myShell.sh basename /root/shell/myShell.sh .sh #去掉.sh后缀 ...
  • linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。Shell 函数定义的语法格式如下: [function] funname [()]{ 函数体 [return int;] } 格式1: 简化写法,不写 function 关键字: 函数名(){ ...
  • shell 函数返回值

    万次阅读 2017-07-18 13:44:22
    Shell函数返回值,常用的两种方式:return,echo,可以通过 $? 获取返回值。 1、return 语句 该返回方法有数值的大小限制,超过255,就会从0开始计算,所以如果返回超过255,就不能用这种方式,建议采用echo输出。 #...
  • Linux Shell函数返回值

    万次阅读 2012-09-11 11:25:40
    Shell函数返回值,一般有3种方式:return,argv,echo1) return 语句shell函数的返回值,可以和其他语言的返回值一样,通过return语句返回。示例:#!/bin/bash - function mytest() { echo "arg1 = $1" if [ $1 =...
  • 函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。 Shell 函数必须先定义后使用。1、Shell 函数的定义格式function_name () { list of commands [ return value ] }如果你...
  • awk调用shell函数

    千次阅读 2012-03-14 18:47:03
    [work@ shell_test]$ more conf_func_test.sh #!/bin/sh   function method_add {  if [ $# -le 0 ]  then  return 1;  fi  fn_param=($@)  fn_errms
  • shell函数和awk函数总结

    千次阅读 2013-01-27 18:19:11
    shell 函数、awk函数、以及awk调用shell中的函数,下面统一总结一下。昨晚写脚本函数,然后就把函数在...1、 普通shell函数: #!/bin/sh function fun_test4() {  _message=$1  if [ "$_message" -ge "0
  • Shell函数传递参数

    千次阅读 2020-04-05 12:50:55
    Shell函数传递参数 文章目录Shell函数传递参数背景错误用法解决办法思考提取变量,不加引号提取变量,加引号结论透过现象看本质 背景 函数之间调用时,如果把$@ (全部参数,可以用shift进行截断) 直接全部传递过去可能会...
  • Makefile----shell函数和make的运行

    千次阅读 2013-11-25 21:14:03
    shell函数 shell函数也不像其它的函数。顾名思义,它的参数应该就是操作系统Shell的命令。它 和反引号“`”是相同的功能。这就是说,shell函数把执行操作系统命令后的输出作为函 数返回。于是,我们可以用...
  • makefile shell 函数

    千次阅读 2013-06-14 16:42:35
    在makefile中可以获取当前的path。 比如说在服务器上,每一个developer都会有自己的库,而且只是...此时可能会用到shell函数 MYPATH=$(shell /bin/pwd) 有了这个路径想要找某一个module的makefile可能就easy的很了.
  • 包括的内容为: 1、函数定义 2、退出状态 3、参数传递 4、标准IO 5、脚本调试 6、AND&OR 7、内置命令补充知识点 https://blog.csdn.net/imxiangzi/article/details/50373535分析过程 ...
  • Shell 函数 递归

    千次阅读 2018-12-07 01:01:09
    函数:(就是一个功能。) 定义函数:描述一个功能的过程 [function] 函数名() { command1 … } 调用函数:执行一次函数 函数名 传递实参给函数函数名 实参1 实参2 实参3 … 函数中接收实参: $1 $2 $3 $4… $# ...
  • shell函数带参数

    2018-12-13 08:10:42
    第一个参数和第二个参数合并
1 2 3 4 5 ... 20
收藏数 410,810
精华内容 164,324
关键字:

shell函数