示例脚本及注释


#!/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)的更多相关文章

  1. Shell - 简明Shell入门09 - 重定向(Redirection)

    示例脚本及注释 #!/bin/bash pwd > 1.log # 输出重定向到指定文件 date 1> 1.log # ">"与"1>" ...

  2. Linux - 简明Shell编程12 - 定制输出(ColorOutput)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo -e "\ ...

  3. Linux - 简明Shell编程01 - 第一个脚本(HelloShell)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "hell ...

  4. Linux - 简明Shell编程02 - 变量(Variable)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash v1=test-variabl ...

  5. Linux - 简明Shell编程03 - 字符串(String)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash str="Shell ...

  6. Linux - 简明Shell编程04 - 判断语句(If)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ...

  7. Linux - 简明Shell编程07 - 数组(Array)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash test0=() # 定义数组 ...

  8. Linux - 简明Shell编程08 - 函数(Function)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash function Check( ...

  9. Linux - 简明Shell编程11 - 调用脚本(CallTheScript)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 主脚本: CallTheScript.sh #!/bi ...

随机推荐

  1. Java基础(2)-基础类型

    java基础类型 基础类型 package knowledge.base; public class Properties { /** * 整型 * int 4字节 -2 147 483 648 ~2 ...

  2. JavaScript从入门到忘记

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 二.变 ...

  3. MyEclipse2014web工程项目直接复制不能访问报错处理方案

    在学习web servlet项目中,做一个项目时 , 完成到了某一阶段 实现了部分功能,有必要保存这一项目,当复制这个项目之后发现发布会报错或者不能访问. 其实复制项目主要是为了在以后的学习中如果能顺 ...

  4. pyparsing:定制自己的解析器

    在工作中,经常需要解析不同类型的文件,常用的可能就是正则表达式了,简单点的,可能会使用awk.这里要推荐一种比较小众的方式,使用pyparsing来解析文件. pyparsing可以做些什么呢?主要可 ...

  5. (转载)VB 查询Oracle中blob类型字段,并且把blob中的图片以流的方式显示在Image上

    原文摘自:http://heisetoufa.iteye.com/blog/ '模块代码 Private Declare Function CreateStreamOnHGlobal Lib &quo ...

  6. HTML form表单小结

    HTML form标签小结 最近研究 form标签,有一些小心得写下来与大家分享分享,共勉.在小结的最后有一个form表单的小例子,可以作为参考. -----DanlV form是HTML的一个极为重 ...

  7. python的高级应用

    记录一下Python函数式编程,高级的几个BIF,高级官方库方面的用法和心得. 函数式编程 函数式编程是使用一系列函数去解决问题,按照一般编程思维,面对问题时我们的思考方式是"怎么干&quo ...

  8. Oracle 左连接 left join、右连接right join说明

    Oracle 左.右连接 + 在等号 左边表示右连接  获取右表所有记录,即使左表没有对应匹配的记录. + 在等号 右边表示左连接  获取左表所有记录,即使右表没有对应匹配的记录. 例子: selec ...

  9. WNMP(Windows + Nginx + PHP + MySQL) 安装

    最近在开发一个新的项目,环境用的是: Nginx1.10.3  下载地址: http://nginx.org/en/download.html  下载windows版本包 PHP 7.1.1  下载地 ...

  10. Android 上层应用读写设备节点

    Android 上层应用读写设备节点 Android L [TOC] 1. Android 设备节点 Android基于Linux内核.设备节点文件是设备驱动的逻辑文件,可以通过设备节点来访问设备驱动 ...