shell基础(三)
2024-08-26 23:05:58
函数
- 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那种预编译都不是,如果你的脚本包含错误(例如调用了不存在的函数),只要没执行到这一行,就不会报错
最新文章
- PowerShell命令卸载Win10内置应用
- jQuery Select操作大集合
- Spring AOP 问与答
- 用户 'sa' 登录失败。 (Microsoft SQL Server,错误: 18456)
- C语言待研究问题
- 爬虫框架: DotnetSpider
- Qt 向word中插入文字(使用QAxWidget和QAxObject)
- JAVA的if用法,比如if(...){} 和if()没有大括号直接写下面的区别是什么
- zf-关于更换页面,的各种问题。
- 实现sticky footer的五种方法
- Pipeline in scala——给scala添加管道操作
- FTP方式发布webservice
- UNIX网络编程——客户/服务器程序设计示范(一)
- SpringCloud使用Prometheus监控(基于Eureka)
- css的小知识4
- blockchain[z]
- zabbix安装部署(server部分)
- Asterisk 的安全性
- 【转载】抓包工具Fidder详解(主要来抓取Android中app的请求) 包括https
- 详解Google Chrome浏览器(操作篇)(上)