函数

  • 1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数;
  • 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值;
  • 3、必须将函数放在脚本开始部分,调用函数仅使用其函数名即可;
  • 4、函数返回值在调用该函数后通过 $? 来获得。
funWithReturn(){
    echo "输入第一个参数: $1"
    echo "输入第二个参数: $1"
    return $(($1+$1))
}
funWithReturn 10 20
echo "输入的两个数字之和为 $? !"

 重定向

一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:

  • 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
  • 标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
  • 标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
  • /dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。
#如果希望屏蔽 stdout 和 stderr,可以这样写:
$ command > /dev/null 2>&1

Shell 文件包含

和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。

Shell 文件包含的语法格式如下:

. filename   # 注意点号(.)和文件名中间有一空格
或
source filename

ps:shell编程
  • 它的函数只能返回字串,无法返回数组
  • 它不支持面向对象,你无法实现一些优雅的设计模式
  • 它是解释型的,一边解释一边执行,连PHP那种预编译都不是,如果你的脚本包含错误(例如调用了不存在的函数),只要没执行到这一行,就不会报错
 

最新文章

  1. PowerShell命令卸载Win10内置应用
  2. jQuery Select操作大集合
  3. Spring AOP 问与答
  4. 用户 'sa' 登录失败。 (Microsoft SQL Server,错误: 18456)
  5. C语言待研究问题
  6. 爬虫框架: DotnetSpider
  7. Qt 向word中插入文字(使用QAxWidget和QAxObject)
  8. JAVA的if用法,比如if(...){} 和if()没有大括号直接写下面的区别是什么
  9. zf-关于更换页面,的各种问题。
  10. 实现sticky footer的五种方法
  11. Pipeline in scala——给scala添加管道操作
  12. FTP方式发布webservice
  13. UNIX网络编程——客户/服务器程序设计示范(一)
  14. SpringCloud使用Prometheus监控(基于Eureka)
  15. css的小知识4
  16. blockchain[z]
  17. zabbix安装部署(server部分)
  18. Asterisk 的安全性
  19. 【转载】抓包工具Fidder详解(主要来抓取Android中app的请求) 包括https
  20. 详解Google Chrome浏览器(操作篇)(上)

热门文章

  1. Python—— 性能分析入门指南
  2. 请问大家ndk中LOCAL_SHARED_LIBRARIES LOCAL_LDLIBS什么区别
  3. 程序猿的职场潜意识Top10
  4. 彻底理解PHP的SESSION机制【转】
  5. 【PHP】导入、导出Excel表格(有使用PHPExcel和不使用的两个版本)
  6. C语言-二进制技巧
  7. Solr3.6.2和Solr4.9.0经常使用配置
  8. VPS性能测试
  9. navigate
  10. android 建数据库 SQLite 存储sd 卡或者内存