shell编程
一、什么是shell?
shell是Unix系统用户与操作系统交互最基本的工具。
二、shell具有什么功能?
- 命令解释执行的功能
- 系统环境设置
- 输入输出的重新定向
- shell程序语言的设计。。。
三、shell的基本概念
四、shell基本功能详解
1、shell命令解释过程
暂时是搞不懂,命令解释是信息流?read(),fork()又是什么意义,父进程为什么会等待?这些问题还是要去完善。
2、shell输入输出重定向
默认状态下,shell将命令的输入流设定为键盘,输出流为显示器,错误流也是显示器。
可通过以下命令实现重定向:三个符号:<、>>、>
例如:ls -l > ls.txt
ls-l /home/user1 > ls.txt
ls-l /home/user1 >>ls.txt
重定向符<:将标准输入从键盘充重新定义到另外的流。
例如:prog<infile,即prog命令将从文件infile中读取参数
sh<user1.sh,表示要执行的user1.sh这个shell程序
重定向符:<,>>,>混合使用。
eg:prog<infile>outfile,表示prog命令从infile中获取命令参数,然后将执行结果输出到文件outfile中
3、错误流重定向
Cshell中使用的错误流重定向符是:>&,
4、管道线处理
管道线可以实现将一个程序或命令的输出作为另一个程序或命令的输入,管道线作为两个命令之间的分隔符。“|”
eg: $ ls -l > tempfile
$wc -l tempfile
$rm tempfile
管道线处理:$ls -l | wc -l
";"、"&"、“&&”、“||”,可以替换管道线“|”