标准输入
(1)、标准输入(STDIN):默认的设备是键盘,设备文件位于/dev/stdin,文件编号为0
(2)、Shell默认从标准输入中读取所需要的命令
file stdin:查看文件类型(stdout、stderr)
读取键盘输入
(1)、使用read命令完成键盘的输入操作,并赋值
(2)、read n
修改firsh.sh文件,-p:增加提示
标准输出
(1)、标准输出(STDOUT):默认的设备是显示器,设备文件位于/dev/stdout,文件编号为I
(2)、Shell终端默认把输出发送到屏幕
用户输出
使用echo命令输出:echo"helloworld"
单引号原样输出,双引号以变量形式输出
输出重定向
(1)、将shell终端的输出发送到指定的文件
(2)、“>”后面指定的文件如果不存在,则会新建该文件,并将命令执行结果发送到该文件中;若该文件已经存在,则将清空文件内容并保存命令的执行结果到文件中
(3)、“>>”可以将命令执行的结果追加到指定文件的末尾,而并不覆盖文件中的已有内容
重定向示例:
-
date>abc.log:把date命令的输出发送到文件abc.log
-
pwd>>abc.log:把pwd命令的输出追加到文件abc.log
-
ls>>abc.log 2>&1:把ls的输出、错误输出发送到abc.log
输入重定向
(1)、命令的输入可以来自于文件
(2)、标准输入重定向使用“<”操作符
管道 |
(1)、在Bash环境中,管道操作为不同命令之间的协同工作提供了一种机制
(2)、位于管道符“|”左侧的命令输出的结果,会作为右侧命令的输入
例1:统计/etc/passwd文件有多少行
例2:在/etc/passwd文件中找出以root开头的行;grep:过滤
例3:使用管道将命令,脚本,文件和程序串连起来
命令功能:对所有.txt文件的输出内容进行排序(sort),删除重复行(uniq),并把这些内容保存到文件result.log中