shell基础知识02
来源:互联网 发布:c语言n位水仙花数程序 编辑:程序博客网 时间:2024/05/16 18:31
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基础知识02
- shell基础知识
- shell基础知识
- shell基础知识
- SHELL 基础知识
- Shell 基础知识
- shell基础知识
- shell基础知识
- shell 基础知识
- shell 基础知识
- shell 基础知识
- Shell基础知识
- Shell基础知识
- shell基础知识
- shell基础知识
- shell基础知识
- shell基础知识
- shell基础知识
- php中or ,and的作用及使用
- hdu2577 特殊动归 How to Type
- 动态代理解析
- 学习注解
- java数据结构 七 栈(链式储存结构)
- shell基础知识02
- 关于虚继承需要注意的几个问题
- Spring框架中的定时器 如何使用和配置
- c/c++ 下面学习的内容
- 未启用对服务器的远程访问
- 利用递归求n!
- POJ 3686 The Windy's 最小权值匹配
- Java内存管理——内存分配
- 【SkinUI实例】仿QQ界面设计第二十九课