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

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

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

最新文章

  1. aspNet各种模块介绍
  2. 学点PYTHON基础的东东--数据结构,算法,设计模式---访问者模式
  3. HTML5 JS API 本地存储LocalStorage基本操作
  4. python学习_应用pickle模块封装和拆封数据对象
  5. python manage.py shell之后的一些错误:
  6. 【甘道夫】怎样在cdh5.2上执行mahout的itemcf on hadoop
  7. volatile 和const 变量的使用
  8. Delphi控件下载网
  9. CentOS本地yum源配置
  10. Openresty编写Lua代码一例
  11. 虚拟云主机创建多个站点方法(.htaccess实现)
  12. 转摘: MySQL详解--锁
  13. LOJ#6284. 数列分块入门 8
  14. ABAP表生成Java实体Bean
  15. mysql_union操作符
  16. 【Think in java读书笔记】序列化
  17. virtualbox谨记:win7上只有4.3.x的版本支持ubuntu14.04.3虚拟机安装Oracle Rac,其他的版本3.x和5.0.2(至2015-08-30)均不可以
  18. FFmpeg源码结构图 - 编码
  19. Job for vsftpd.service failed because the control process exited with error code
  20. Android开发5——文件读写

热门文章

  1. Bigbluebutton服务执行过程及相关配置文件
  2. 九度OJ 1535 重叠的最长子串
  3. 图论&amp;数学:矩阵树定理
  4. centOS 安装Python3与python2并存
  5. Java中基于HotSpot虚拟机的垃圾收集器
  6. mysql之数据库操作进阶(三)
  7. python基础===进程,线程,协程的区别(转)
  8. GitHub创建项目入门学习
  9. go语言爬虫goquery和grequests的使用
  10. HDU 5116 Everlasting L