14.Linux shell编程(函数)

简介: (创建于2018/2/1)1.简单的一个函数 1 #!/bin/bash 2 3...

(创建于2018/2/1)

1.简单的一个函数

  1 #!/bin/bash                                                                              
  2 
  3 function myfunc{    //注意这里没有(),函数名何{之间没有空格导致出错,空格一定要有
  4     echo "myfunc"
  5 }
  6 myfunc              //调用函数
      
  创建函数的格式,有两种:
  function name {
    commands
  }
  或
  name() {
    commands
  }
  
  执行后:
   tabstop=8root@iZbp11v3y27wpf6mglp2glZ:/user/renzhenming/shell# ./16.sh 
   ./16.sh: line 4: syntax error near unexpected token `echo'
   ./16.sh: line 4: `    echo "myfunc"'
       
   错在哪里?注意myfunc函数和后边的大括号间需要有空格
   
   正确写法:
   #!/bin/bash                                                                              
  
   function myfunc {
     echo "myfunc"
   }
   myfunc
   
   最好这样,换行防止错误
   
   #!/bin/bash                                                                              
  
   function myfunc 
   {
     echo "myfunc"
   }
   myfunc

2.函数重名,也是定义函数的两种方式

  1 #!/bin/bash                                                                              
  2 
  3 function myfunc    //去掉function会报错  myfunc: command not found
  4 {
  5     echo "myfunc"
  6 }
  7 myfunc
  8 
  9 myfunc()          //定义了一个和上边函数同名的函数,区别在于,这里没有使用function 关键字,还多了一个()
                      //这是两种定义函数的方式
 10 {
 11     echo "myfunc2"
 12 }
 13 
 14 myfunc
 
 
 执行结果
  tabstop=8root@iZbp11v3y27wpf6mglp2glZ:/user/renzhenming/shell# ./16.sh 
  myfunc
  myfunc2
  
  
  去掉第二个同名函数的小括号
  
  1 #!/bin/bash                                                                              
  2 
  3 function myfunc
  4 {
  5     echo "myfunc"
  6 }
  7 myfunc
  8 
  9 myfunc
 10 {
 11     echo "myfunc2"
 12 }
 13 
 14 myfunc
 
 结果
 
tabstop=8root@iZbp11v3y27wpf6mglp2glZ:/user/renzhenming/shell# ./16.sh 
myfunc
myfunc
myfunc2
myfunc

3.函数传参和返回值

  1 #!/bin/bash                                                                              
  2 
  3 function myfunc
  4 {
  5     echo $[ $1 + $2 ]
  6 }
  7 
  8 value=$(myfunc 10 90)
  9 echo "value :$value"
      
  结果
  
  100

4.函数调用局部变量和引入函数库

16.sh
    
  1 #!/bin/bash                                                                              
  2 source ./17.sh     //source关键字引入函数库文件
  3 //. .17.sh         //这种写法也同样是引入库文件,“.”就代表source关键字
  4 function myfunc
  5 {
  6     echo $beaty    //使用局部变量
  7 }
  8 beaty=12
  9 
 10 myfunc
 11 
 12 echo "add value:$(add 10 30)"     //调用库文件中的函数
      
17.sh

  1 #!/bin/bash                                                                              
  2 
  3 function add()
  4 {
  5     echo $[ $1 + $2 ]
  6 }


执行结果
tabstop=8root@iZbp11v3y27wpf6mglp2glZ:/user/renzhenming/shell# ./16.sh 
12
add value:40
相关文章
|
4天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
44 13
|
26天前
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
31 0
Linux 如何更改默认 Shell
|
2月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
78 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
1月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
2月前
|
Shell Linux C语言
Shell 函数
10月更文挑战第4天
25 7
|
2月前
|
Shell
Shell编程(下)
Shell编程(下)
110 1
|
2月前
|
Shell Linux Windows
Shell编程(上)
Shell编程(上)
47 1
|
2月前
|
Shell Linux 开发工具
|
2月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
82 12
|
3月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
下一篇
DataWorks