• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
微唯一笑
博客园    首页    新随笔    联系   管理    订阅  订阅

shell高级编程----函数(1)

(1)  基本的脚本函数:

          函数: 起名并在代码中 任何位置可以被调用的代码块。脚本使用该代码块直接调用函数名即可。

(2)  创建函数:

          格式一: function name {

                       代码块

                        }

          格式二: name()  {     #圆括号为空,定义为函数。

                            代码块

                          }

       

         使用函数:

                在脚本中使用函数,在定义函数结束后,指定函数名即可。      注意:函数名必须是唯一的。

 

     (3)  返回值;

            默认退出状态码:

          函数中最后一条命令返回的退出状态码。使用$?变量决定函数的退出状态码。

            注意: 谨慎使用函数的默认退出状态码。

 

            使用return命令;

             退出函数并返回特定的退出状态码。允许整数定义函数的退出状态码。

                      注意:

                    函数一结束就取返回值; 

                    退出状态码必须在0~255之间。

                     要返回较大的整数值或字符串值,不能使用这种返回值 。

 

           使用函数输出:

                   将函数的输出保存到shell变量中。可返回浮点值和字符串值。

 

           在函数中使用变量;

     向函数传参:

              函数可以用位置变量来代表命令行上传给函数的参数。  注意: 在脚本中指定函数时,必须将参数和函数放在同一行。 例如:$1,...$n ,   $#判断传给函数的参数数目。

 

           在函数中处理变量:

         作用域:

           全局变量:全局生效。默认情况下,脚本内定义 的任何变量都是全局变量。

                  

                 局部变量:

                 函数内部使用的变量可被声明成局部变量。

                 格式: local   变量名。

                     或者: local   变量名=变量值

             local保证了变量只局限在函数中。

 

 

         数组变量和函数:

             向函数传数组参数:

                  将该数组变量的值分解成单个值,并将这些值作为函数参数使用。在函数内,可将所有的参数重组到新的数组变量中。

 

             从函数返回数组:

               函数用echo语句来按正确顺序输出单个数组值。

 

                        函数递归:

                    局部函数变量:自成体系。

                      函数可以调用自己得到结果。

                     递归函数都有一个最终可以迭代到的基准值。

 

 

            创建库:

         bash  shell 允许创建函数库文件。可直接引用该文件。

        第一步: 创建一个包含脚本中所需函数的公用库文件。

        第二步: 要用这些函数的脚本文件中包含库文件。

 

       source命令: 

           使用函数库, 会在当前 shell执行命令。可用source命令在shell脚本中运行库文件脚本。

           source也称作点操作符,在脚本中运行库文件:

              格式:  .   ./库文件名

 

         在命令行上使用函数:

            创建函数:

                   (1) 在一行内定义整个函数。  在命令行上定义函数时,需在每个命令后面加上个分号。

                   (2) 用多行来定义函数;

                       定义时,命令行使用次提示符来提示输出命令。 按回车键即可。

 

           

            在.bashrc文件中定义函数;

               shell会在每次启动时在主目录查找这个文件。

       

           直接定义函数:

                可直接在主目录的.bashrc文件中定义函数。

  

           读取函数文件:

                  在脚本中,可用source命令来将已有库文件中的函数添加到.bashrc脚本中。

 

 

         

             

 

posted @ 2017-07-22 16:04  微唯一笑  阅读(76)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3