• shell_76.Linux使用 return 命令



    使用 return 命令
    bash shell 会使用 return 命令以特定的退出状态码退出函数。return 命令允许指定一个整数值作为函数的退出状态码,从而提供了一种简单的编程设定方式:

    1. $ cat test5 
    2. #!/bin/bash 
    3. # using the return command in a function 
    4. function dbl { 
    5.  read -p "Enter a value: " value 
    6.  echo "doubling the value" 
    7.  return $[ $value * 2
    8. dbl 
    9. echo "The new value is $?" 


    注意
    dbl 函数会将$value 变量中用户输入的整数值翻倍,然后用 return 命令返回结果。脚本用$?变量显示出该结果。
    当用这种方法从函数中返回值时,一定要小心。为了避免出问题,牢记以下两个技巧。
    函数执行一结束就立刻读取返回值。
    退出状态码必须介于 0~255。

    如果在用$?变量提取函数返回值之前执行了其他命令,那么函数的返回值会丢失。记住,
    $?变量保存的是最后执行的那个命令的退出状态码。
    第二个技巧界定了返回值的取值范围。由于退出状态码必须小于 256,因此函数结果也必须
    为一个小于 256 的整数值。大于 255 的任何数值都会产生错误的值:

    1. $ ./test5 
    2. Enter a value: 200 
    3. doubling the value 
    4. The new value is 1 
    5. $

    使用函数输出
    正如可以将命令的输出保存到 shell 变量中一样,也可以将函数的输出保存到 shell 变量中:

    result=$(dbl) 


    这个命令会将 dbl 函数的输出赋给$result 变量。来看一个例子:

    1. $ cat test5
    2. #!/bin/bash 
    3. # using the echo to return a value 
    4. function dbl { 
    5.     read -p "Enter a value: " value 
    6.     echo $[ $value * 2
    7. result=$(dbl) 
    8. echo "The new value is $result" 
    9. $ ./test5
    10. Enter a value: 200 
    11. The new value is 400 
    12. $ ./test5
    13. Enter a value: 1000 
    14. The new value is 2000 


    新函数会用 echo 语句来显示计算结果。该脚本会获取 dbl 函数的输出,而不是查看退出状态码。

  • 相关阅读:
    前端文件上传
    RACH Procedure Log Analysis
    C ++ 1
    媒体查询?
    JavaScript 的 switch 有四样写法,你知道么?
    图像隐写,如何在图像中隐藏二维码
    安卓可视大屏寻呼台 兼容标准sip协议
    网工实验笔记:匹配工具ACL的使用
    day36 XSS跨站&MXSS&UXSS&FlashXSS&PDFXSS
    (十四)笔记.net学习之RabbitMQ工作模式
  • 原文地址:https://blog.csdn.net/mmmmm168m/article/details/134280141