Linux程序设计读书笔记:第二章 shell程序设计
2012-03-03 12:17
267 查看
2.1 什么是shell
解释型语言,不适合用来完成对执行时间比较挑剔或者处理器符合比较大的工作
shell是一个做为用户与UNIX系统之间的操作接口的程序,文件的重定向只要使用"<"和"》"就行,管道用一个"|"就能代表,子进程的输出是"$(...)",所有这些的具体细节都早已为用户准备好了。
2.2 管道和重定向
2.2.1 对输出数据进行重定向
$ls -l > lsoutput.txt,这条命令将ls命令的输出保存到一个名为lsoutput.txt的文件里去
$ps >> lsoutput.txt,这条命令将把ps命令的输出追加到文件尾部
文件描述符0代表一个程序标准输入,文件描述符1代表一个程序标准输出,而文件描述符2代表一个程序标准错误输出
2.2.2 对输入数据进行重定向
不仅能重定向输出信息,还可以重定向输入数据,如$ more < killout.txt
2.2.3 管道
可以用管道操作符"|"把进程连接在一起,UNIX不同于DOS,用管道连接在一起的进程可以同时运行,并会随着数据流在它们之间的流动而自动协调
2.3 可以被视为程序设计语言的shell
2.3.1 交互式程序
2.3.2 编写脚本程序
程序中的注释以一个"#"符号开始,一直持续到该行的结束
在shell程序设计里,exit命令返回"0"表示成功
UNIX一般很少通过文件的扩展名来确定文件的类型,可以完全省略".sh",或者给它加上一个不同的扩展名,shell是不关心的,要想知道它们是否是脚本程序,最好的方法就是使用file命令,比如 "file first.sh"
2.3.3 把脚本设置为可执行程序
用chmod命令对已写好的脚本文件的状态(mode)进行修改,是这个文件能够被全体用户执行,$ chomd +x first.sh
2.4 shell程序设计的语法
2.4.1 变量
在shell里,使用变量之前并不需要事先对它们做出声明。在默认情况下,所有变量都被认为是并保存为字符串,即使它们被赋值为数值时也是如此。shell和其它一些工作程序会把"数值"型字符串依次转换为正确的数值,并且按照正确的方式对它们进行操作。
因为UNIX是一个区分字母大小写的系统,shell中依旧如此
在
shell里,在变量名前面加上一个"$"字符就可以获得它的内容,echo命令就可以输出它的内容。只要用到变量,我们就可以在它前面加上一个"$"字
符,除非我们是在对该变量进行赋值操作。注意,如果字符串里包含着空格,就必须用引号把它们括起来,还要注意等号两边不能有空格。
2.4.2 条件测试
2.4.3 控制结构
2.4.4 函数
2.4.5 命令
2.4.6 命令的执行
2.4.7 即时文档
2.4.8 调试脚本程序
2.5 shell程序设计示例
2.5.1 工作需求
2.5.2 设计
2.6 本章总结
解释型语言,不适合用来完成对执行时间比较挑剔或者处理器符合比较大的工作
shell是一个做为用户与UNIX系统之间的操作接口的程序,文件的重定向只要使用"<"和"》"就行,管道用一个"|"就能代表,子进程的输出是"$(...)",所有这些的具体细节都早已为用户准备好了。
2.2 管道和重定向
2.2.1 对输出数据进行重定向
$ls -l > lsoutput.txt,这条命令将ls命令的输出保存到一个名为lsoutput.txt的文件里去
$ps >> lsoutput.txt,这条命令将把ps命令的输出追加到文件尾部
文件描述符0代表一个程序标准输入,文件描述符1代表一个程序标准输出,而文件描述符2代表一个程序标准错误输出
2.2.2 对输入数据进行重定向
不仅能重定向输出信息,还可以重定向输入数据,如$ more < killout.txt
2.2.3 管道
可以用管道操作符"|"把进程连接在一起,UNIX不同于DOS,用管道连接在一起的进程可以同时运行,并会随着数据流在它们之间的流动而自动协调
2.3 可以被视为程序设计语言的shell
2.3.1 交互式程序
2.3.2 编写脚本程序
程序中的注释以一个"#"符号开始,一直持续到该行的结束
在shell程序设计里,exit命令返回"0"表示成功
UNIX一般很少通过文件的扩展名来确定文件的类型,可以完全省略".sh",或者给它加上一个不同的扩展名,shell是不关心的,要想知道它们是否是脚本程序,最好的方法就是使用file命令,比如 "file first.sh"
2.3.3 把脚本设置为可执行程序
用chmod命令对已写好的脚本文件的状态(mode)进行修改,是这个文件能够被全体用户执行,$ chomd +x first.sh
2.4 shell程序设计的语法
2.4.1 变量
在shell里,使用变量之前并不需要事先对它们做出声明。在默认情况下,所有变量都被认为是并保存为字符串,即使它们被赋值为数值时也是如此。shell和其它一些工作程序会把"数值"型字符串依次转换为正确的数值,并且按照正确的方式对它们进行操作。
因为UNIX是一个区分字母大小写的系统,shell中依旧如此
在
shell里,在变量名前面加上一个"$"字符就可以获得它的内容,echo命令就可以输出它的内容。只要用到变量,我们就可以在它前面加上一个"$"字
符,除非我们是在对该变量进行赋值操作。注意,如果字符串里包含着空格,就必须用引号把它们括起来,还要注意等号两边不能有空格。
$salutation=Hello
$echo $salutation
Hello
$salutation="Year Dear"
$echo $salutation
Year Dear
$salutation=7+5
$echo $salutation
7+5
$echo $salutation
Hello
$salutation="Year Dear"
$echo $salutation
Year Dear
$salutation=7+5
$echo $salutation
7+5
2.4.2 条件测试
2.4.3 控制结构
2.4.4 函数
2.4.5 命令
2.4.6 命令的执行
2.4.7 即时文档
2.4.8 调试脚本程序
2.5 shell程序设计示例
2.5.1 工作需求
2.5.2 设计
2.6 本章总结
相关文章推荐
- Linux程序设计-学习笔记-第二章shell程序设计
- 第二章 shell程序设计
- linux程序设计——shell程序设计(第二章)
- 第二章 shell程序设计
- 《Linux程序设计第四版》读书笔记 - 第二章 Shell程序设计
- 第二章 Shell程序设计
- linux程序设计——shell程序设计(第二章)
- linux程序设计——shell程序设计(第二章)
- 第二章 shell程序设计(1)
- 第二章 Shell程序设计
- 第二章 shell程序设计(3)
- Linux06--Shell程序设计02 数据流重定向与管道
- java 程序性能优化《第二章》设计优化 2.1善用设计模式 1 单例模式
- shell 程序设计入门 比较两个数的大小
- Shell程序设计小知识[shell常识部分]
- linux----笔记1---shell程序设计
- Linux程序设计(二)shell程序设计
- 鸟书shell学习(三)shell脚本程序设计要点总结
- 几个shell程序设计小知识(shell常识部分)
- Linux 的使用基础---Shell程序设计