shell基础知识02
2014-05-04 16:44
246 查看
1.5、学习文件描述符和重定向
1.5.1、预备知识当使用命令输出文本时,这些输出文本有可能是错误信息,也有可能是正常信息。可以通过文件描述符,将那些与特定描述符关联的文本提取出来
文件描述符是与一个打开的文件或数据流相关联的整数。文件描述符0、1和2是系统预留的
0-stdin(标准输入)
1-stdout(标准输出)
2-stderr(标准错误)
1.5.2、实战演练
1、重定向
>和>>都可以将文本重定向到文件,但是前者会先清空文件,再写入内容;而后者会将内容追加到文件的尾部
使用重定向操作符时,重定向的内容不会出现在终端,而是直接被导入文件。重定向操作符默认是标准输出,如果想使用特定的文件描述符,必须将描述符置于操作符之前
1.1、标准错误以及如何对它重定向
(1)一个命令执行并退出时,会返回一个退出状态,如果命令执行错误,会返回一个非0的退出状态,如果命令执行成功,会返回一个0的退出状态
运行echo $?,可以打印退出状态
(2)
# ls +
ls: 无法访问+: 没有那个文件或目录
# ls + > out.txt ##没有使用文件描述符2,标准错误不会重定向
ls: 无法访问+: 没有那个文件或目录
# ls + 2> out.txt
null
# cat out.txt
ls: 无法访问+: 没有那个文件或目录
# vi out.sh
#!/bin/bash
num7=1.5;
num8=1.6;
result=`echo $num7*$num8 |bc`;
result1=`$num7*$num8 |bc` ##20行
result2=`echo "$num7*$num8" |bc`
echo "result=$result result1=$result1 result2=$result2"
~
# sh ./out.sh
./out.sh: line 5: 1.5*1.6: command not found
result=2.4 result1= result2=2.4
# sh ./out.sh 2>stderr.txt 1>stdout.txt
# cat stderr.txt
./out.sh: line 5: 1.5*1.6: command not found
# cat stdout.txt
result=2.4 result1= result2=2.4
相关文章推荐
- 学习 shell脚本之前的基础知识
- android基础知识03——事件处理02:事件流顺序
- IOS Socket 02-Socket基础知识
- 20161220L05-02和L05-04老男孩Linux运维实战培训-硬盘的基础知识介绍01和02
- shell脚本基础知识
- 一些让人很容易忽视的shell基础知识
- Shell 脚本基础知识
- android基础知识12:android自动化测试06—Instrumentation 02 单元测试
- shell基础知识学习
- android基础知识02——线程安全1:定义及例子
- shell脚本基础知识一
- shell基础知识总结
- 前端学习之路css3(02)-基础知识
- 学习 shell脚本之前的基础知识
- MyBatis02 MyBatis基础知识之Mapper映射器
- android基础知识02——线程安全2:handler、message、runnable
- Linux 基础知识----shell
- shell基础知识梳理二
- Shell程序设计(一)—基础知识
- 第13章 学习 shell脚本之前的基础知识