shell函数

注:现在是unix编程

实例:

#!/bin/sh
demon(){
  echo "这是一个shell脚本"
}
demon

注: 调用是只写函数名没有()

函数的返回值

函数的返回值只能是数字(0-255)

#!/bin/sh
demon(){
  echo "这个函数会对输入的两个数字进行加法运算"
  echo "请输入第一个数字"
  read cat1
  echo "请输入第二个数字"
  read cat2
  echo "两个数字分别为${cat1}和${cat2}"
  return $(($cat2+$cat1))
}
demon
echo "输入的两个数字的和是:$?"

注:1)函数在调用前必须定义,也就是说函数必须写在脚本的前面;

  2)函数的返回值通过$?在调用函数后获得

  3)函数的返回值只能是(0-255),也就是前面的demon函数输入为255和1时,会返回0,切记

函数参数

#!/bin/sh
demon(){
  echo "第1个参数是:$1"
  echo "第2个参数是:$2"
  echo "第3个参数是:$3"
  echo "第4个参数是:$4"
  echo "第5个参数是:$5"
  echo "第6个参数是:$6"
  echo "第7个参数是:$7"
  echo "第8个参数是:$8"
  echo "第9个参数是:$9"
  echo "第10个参数是:${10}"
  echo "总共有参数:$#"
  echo "作为一个参数输出所有参数:$*"
}
demon 1 2 3 4 5 6 7 8 9 10 11

输出结果:

第1个参数是:1
第2个参数是:2
第3个参数是:3
第4个参数是:4
第5个参数是:5
第6个参数是:6
第7个参数是:7
第8个参数是:8
第9个参数是:9
第10个参数是:10
总共有参数:11
作为一个参数输出所有参数:1 2 3 4 5 6 7 8 9 10 11

注: 注意第十个参数的获取方法要加{}

shell输入输出重定向

输出重定向

如 ll > usrs 会将命令的结果输出到usrs文件中(如果文件不存在则创建,有的覆盖),可以使用>>来实现追加

输入重定向

如 命令行输入 wc test.sh 和wc < test.sh 第一个会显示文件名,第二个不会显示文件名,因为它仅仅知道从标准输入读取内容

/dev/null

如果执行某个命令不希望在命令行显示可以直接定向到/dev/null, /dev/null是个特殊的文件写入其中的内容都会被丢弃

shell 文件包含

shell也可以包含外部脚本

引入方式有两种

1) . filename

2) source filename

注: 第一种方式.后有个空格,不能省略

被包含的文件可以没有执行的权限

shell脚本学习(六)的更多相关文章

  1. Shell脚本学习指南笔记

    Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...

  2. 笔记——shell脚本学习指南

    <shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...

  3. Shell 脚本学习资料搜集

    Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...

  4. 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式

    正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...

  5. 转 shell脚本学习指南

    shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...

  6. Shell脚本学习 - 运算符

    继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...

  7. shell脚本学习总结02--数组

    bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...

  8. shell脚本学习之6小时搞定(1)

    shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把 ...

  9. shell脚本学习心得

    近来主要捣鼓ubuntu,大多数项目中都用到了sh脚本作为启动脚本等,以前只是大概明白如何使用,今天需要自己修改并运行脚本就碰到了很多问题,所以决定静下心来学习一下shell脚本,学习了几个小时,现将 ...

随机推荐

  1. swiper 、css3制作移动端网站,折叠导航

    swiper .css3制作移动端网站,折叠导航 前几天公司要更新改版移动端的官网,由于网站本身没有多少内容,所以设计师就做成了整屏滑动的样子,起初我并没有看设计稿就一口答应了,拿到手后发现了几个问题 ...

  2. 异常的概念和Java异常体系结构

    一. 异常的概念和Java异常体系结构     异常是程序运行过程中出现的错误.本文主要讲授的是Java语言的异常处理.Java语言的异常处理框架,     是Java语言健壮性的一个重要体现. Ja ...

  3. 【C++ STL】Map和Multimap

    1.结构 Map和multimap将key/value pair(键值/实值 队组)当作元素,进行管理.他们根据key的排序准则将元素排序.multimap允许重复元素,map不允许. 元素要求: k ...

  4. 元类编程-- __new__和__init__的区别

    class User: def __new__(cls, *args, **kwargs): print (" in new ") return super().__new__(c ...

  5. lambda表达式的应用例子和JavaSE 8特性

    在JavaSE 8 引入了lambda表达式,lambda表达式的引入带来的好处是:通过语法上的改进,减少开发人员需要编写和维护的代码数量.这个在下面使用和不使用lambda的对比中可以清晰看出来. ...

  6. 【Foreign】Walk [暴力]

    Walk Time Limit: 20 Sec  Memory Limit: 256 MB Description Input Output Sample Input 3 1 2 3 1 3 9 Sa ...

  7. C# 获取一段日期内的工作日

    /// <summary> /// 根据指定时间段计算工作日天数 /// </summary> /// <param name="firstDay"& ...

  8. import学习

    一.import  as     import socket, os, regex模块导入时可以使用 as 关键字来改变模块的引用对象名字: import os as system //当多个引入时  ...

  9. face_recognition 人脸识别报错

    [root@localhost examples]# python facerec_from_video_file.py RuntimeError: module compiled against A ...

  10. python 判断文件的创建时间和当前时间的比较

    import os import time import datetime filePath=r"C:\pyweibo\cookies5673210223" ctime=os.pa ...