Linux中提供了很多内置的函数,但有时我们需要根据自己的需求来创建自定义函数。下面介绍一下关于shell编程中的自定义函数。

1、函数定义
function hello(){
   echo "Hello!!"
}

hello(){
   echo "Hello!!"
}

2、函数调用
[tough@toughhou shell]$ cat fun.sh 
#!/bin/bash
function hello(){
  echo "Hello!!"
}

hello

[tough@toughhou shell]$ sh fun.sh 
Hello!!

#函数需要先定义,后使用,否则出错
[tough@toughhou shell]$ cat fun1.sh 
#!/bin/bash
hello    #调用未定义的函数导致出错
function hello(){
  echo "Hello!!"
}

[tough@toughhou shell]$ sh fun1.sh 
fun1.sh: line 2: hello: command not found

3、参数传递
[tough@toughhou shell]$ cat hello.sh 
#!/bin/bash
hello(){
   echo "Hello, $2"  #此处的$2是调用函数hello时传递进来的参数
}

#此处的$2,$1是调用hello.sh时传递进来的参数
hello $2 $1

[tough@toughhou shell]$ sh hello.sh Tough1 Tough2
Hello, Tough1

4、函数文件引用
[tough@toughhou shell]$ cat helloFun 
hello(){
   echo "Hello!!"
}

[tough@toughhou shell]$ more invoke.sh 
#!/bin/bash
. ./helloFun   #此处引用了helloFun函数文件
hello             #此处调用了helloFun函数文件中的hello函数

[tough@toughhou shell]$ sh invoke.sh 
Hello!!

shell自定义函数的更多相关文章

  1. linux shell自定义函数(定义、返回值、变量作用域)介绍

    http://www.jb51.net/article/33899.htm linux shell自定义函数(定义.返回值.变量作用域)介绍 linux shell 可以用户定义函数,然后在shell ...

  2. Linux shell 自定义函数

    一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带functi ...

  3. linux shell 自定义函数(定义、返回值、变量作用域)介绍

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

  4. 转 linux shell自定义函数(定义、返回值、变量作用域)介绍

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

  5. Shell 自定义函数

    语法: function fname() { 程序段} 例子: #!/bin/bash ## 定义函数,分子除以分母,算利润.占有率等## 参数1:分子## 参数2:分母 function divfu ...

  6. shell学习总结之自定义函数

    shell学习总结之自定义函数 Myfun (){ echo -n "now i is $i " ! [ "$i" ] && exit ; ec ...

  7. 《Shell脚本学习指南》学习笔记之自定义函数

    Shell的函数在使用之前必须先定义,定义格式: [ function ] funname [()] { action; [return int;] } 可以带function fun()定义,也可以 ...

  8. linux shell学习笔记二---自定义函数(定义、返回值、变量作用域)介绍

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

  9. shell脚本编程基础之自定义函数库

    脚本编程知识点 ${#VAR_NAME}:引用变量中字符的长度 A="25 90 100 120": echo ${A#* }:针对A变量,#表示从左往右,*空格表示以空格为分隔符 ...

随机推荐

  1. XML 格式转JSON 格式

    #import <Foundation/Foundation.h> #pragma GCC diagnostic push #pragma GCC diagnostic ignored & ...

  2. some words we should know

    2010年,芬兰艺术家Mikko Kuorinki做了一件独特的艺术品. 他在赫尔辛基的奇亚斯玛当代艺术博物馆(Kiasma museum),找了一堵墙,装了一个175 x 320cm的木架子,上面用 ...

  3. Linux系统上安装mysql数据库

    一:下载并且上传安装包到linux系统上 1:下载地址:http://dev.mysql.com/downloads/mysql/ 2:通过LeapFtp工具,将windows上的mysql安装包拷贝 ...

  4. Delphi2009下编译提示“无法找到“Excel_TLB”

    这是没有安装Excel组件导致的,安装Excel组件的步骤是: 1.新建Package工程 2.在Office安装目录下找到文件XL5CHS32.OLB 我的Office版本是2007,XL5CHS3 ...

  5. nmap命令-----高级用法

    探测主机存活常用方式 (1)-sP :进行ping扫描 打印出对ping扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):  下面去扫描10.0.3.0/24这个网段的的主机 nmap ...

  6. JavaScript基础笔记二

    一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...

  7. CSS3秘笈第三版涵盖HTML5学习笔记9~12章

    第9章,装饰网站导航 限制访问,处于隐私方面考虑,浏览器已经开始限制可以对伪类:visited应用哪些CSS属性了.其中包括对已访问过的链接定义color.background-color.borde ...

  8. PS基础学习 1---基本工具

    1,选框工具: 选择以后对选框中的内容进行修改 ① Shift + 选框 为正方形 ② 选中后鼠标放在选框中对选择范围进行拖动 ③ 移动工具可以拉着选框中的内容移动 ④ ctrl+D取消选框 ⑤单行选 ...

  9. Core Bluetooth Programming Guide

    https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth ...

  10. jquery获取文档高度和窗口高度的例子

    jquery获取文档高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).h ...