Linux - 简明Shell编程09 - 重定向(Redirection)
示例脚本及注释
#!/bin/bash
pwd > 1.log # 输出重定向到指定文件
date 1> 1.log # “>”与“1>”作用相同;覆盖指定文件的原有内容
date >> 1.log # 追加内容到指定文件的末尾
echo "1.log: " `cat 1.log`
echo -e "one\ntwo\nthree" > 2.log
echo "Number of rows:" `wc -l < 2.log` # 输入重定向;统计2.log文件内容的行数
echo "2.log: " `cat 2.log`
echo -e "111\n222\n333" > 3.log
echo "3.log: " `cat 3.log`
wc -l < 3.log > 4.log # 同时重定向输入和输出,从3.log读取输入,然后将输出写入到4.log
echo "4.log - Number of rows:" `cat 4.log`
rm -rf 123 # 确保文件不存在
ls 123 2> 5.log # 错误重定向到指定文件
ls 123 2>> 5.log # 追加内容到指定文件的末尾
echo "5.log: " `cat 5.log`
ls 123 >> 6.log 2>&1 # 将stdout和stderr合并后重定向到指定文件
pwd >> 6.log 2>&1 # 将stdout和stderr合并后重定向到指定文件
echo "6.log: " `cat 6.log`
ls 123 2>> 7.log >> 8.log # 分别重定向到指定文件
pwd 2>> 7.log >> 8.log
echo "7.log: " `cat 7.log`
echo "8.log: " `cat 8.log`
pwd > /dev/null # 屏蔽stdout
ls /root > /dev/null 2>&1 # 屏蔽stdout和stderr
rm -rf [0-9].log
# Here Document
cat << !
abc
123
ABC
!
# 将两个delimiter(这里使用!符号)之间的内容(document) 作为输入传递给command
# ### 标准
# - 标准输入文件(stdin)的文件描述符为0,默认从stdin读取数据;
# - 标准输出文件(stdout)的文件描述符为1,默认向stdout输出数据;
# - 标准错误文件(stderr)的文件描述符为2,默认向stderr中写入错误信息;
#
#
# ### 输出重定向
# - “command > file”:标准输出(stdout)重定向到指定文件,覆盖指定文件的原有内容
# - “command >> file”:标准输出(stdout)重定向到指定文件,追加内容到指定文件的末尾
# - “>”与“1>”作用相同
#
#
# ### 输入重定向
# - “command < file”:从标准输入(stdin)获取内容重定向到从指定文件中获取内容
#
#
# ### 错误重定向
# - “command 2 > file”:标准错误(stderr)重定向到指定文件,覆盖指定文件的原有内容
# - “command 2 >> file”:标准错误(stderr)重定向到指定文件,追加内容到指定文件的末尾
#
#
# ### 合并重定向
# 将stdout和stderr合并后重定向到指定文件
# - “command > file 2>&1”:覆盖指定文件的原有内容
# - “command >> file 2>&1”:追加内容到指定文件的末尾
#
#
# ### Here Document
# - 特殊的重定向方式,用来将输入重定向到一个交互式Shell脚本
# - 作用是将两个delimiter之间的内容(document)作为输入传递给command
# - 开始的delimiter前后的空格会被忽略
# - 结尾的delimiter必须顶格写,前后不能有任何字符,包括空格和 tab 缩进
#
#
# ### “/dev/null”文件
# - 写入到“/dev/null”文件的内容都会被丢弃;
# - 也无法从该文件读取内容;
Linux - 简明Shell编程09 - 重定向(Redirection)的更多相关文章
- Shell - 简明Shell入门09 - 重定向(Redirection)
示例脚本及注释 #!/bin/bash pwd > 1.log # 输出重定向到指定文件 date 1> 1.log # ">"与"1>" ...
- Linux - 简明Shell编程12 - 定制输出(ColorOutput)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo -e "\ ...
- Linux - 简明Shell编程01 - 第一个脚本(HelloShell)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "hell ...
- Linux - 简明Shell编程02 - 变量(Variable)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash v1=test-variabl ...
- Linux - 简明Shell编程03 - 字符串(String)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash str="Shell ...
- Linux - 简明Shell编程04 - 判断语句(If)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ...
- Linux - 简明Shell编程07 - 数组(Array)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash test0=() # 定义数组 ...
- Linux - 简明Shell编程08 - 函数(Function)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash function Check( ...
- Linux - 简明Shell编程11 - 调用脚本(CallTheScript)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 主脚本: CallTheScript.sh #!/bi ...
随机推荐
- springmvc常用注解标签详解【转】
转载自:http://www.cnblogs.com/leskang/p/5445698.html 1.@Controller 在SpringMVC 中,控制器Controller 负责处理由Disp ...
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe
消息队列NetMQ 原理分析4-Socket.Session.Option和Pipe 前言 介绍 目的 Socket 接口实现 内部结构 Session Option Pipe YPipe Msg Y ...
- Angular基础(一)
AngularJS有五个主要核心特性,如下介绍: 双向数据绑定 -- 实现了把model与view完全绑定在一起,model变化,view也变化,反之亦然. 模板 -- 在AngularJS中,模板相 ...
- 浅入深出之Java集合框架(下)
Java中的集合框架(下) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,哈哈这篇其实也还是基础,惊不惊喜意不意外 ̄▽ ̄ 写文真的好累,懒得写了.. ...
- MySQL oracle 分页
(1)MySql的Limit m,n语句 Limit后的两个参数中,参数m是起始下标,它从0开始:参数n是返回的记录数.我们需要分页的话指定这两个值即可. 比如:查询10行记录,起始行从3开始 SEL ...
- Mybaits简诉
先组织一下语言!Mybatis是一个框架,一个数据持久化的框架,作用就是SQL语句的映射!减少了JDBC繁琐的数据操作与类型转换!简而言之,就是方便.轻巧!什么是持久化,持久,恩,JDBC就是一个数据 ...
- springmvc精讲
转自http://www.cnblogs.com/baiduligang/p/4247164.html
- (转)Java线程:新特征-条件变量
Java线程:新特征-条件变量 条件变量是Java5线程中很重要的一个概念,顾名思义,条件变量就是表示条件的一种变量.但是必须说明,这里的条件是没有实际含义的,仅仅是个标记而已,并且条件的含义往往 ...
- Intellij IDEA 2017 详细图文教程之概述
天天编码 , 版权所有丨本文标题:Intellij IDEA 2017 详细图文教程之概述 转载请保留页面地址:http://www.tiantianbianma.com/intellij-idea- ...
- 【整理】01. localhost_access_log 记录post请求参数
环境:apache-tomcat-7.0.57 利用Filter过去request请求参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...