示例脚本及注释


#!/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. 11.page,pagcontext,config对象

  2. 在SOUI中使用网格布局

    在实现网格布局前,SOUI支持两种布局形式:相对布局,和线性布局,其中线性布局是2017年2月份才支持的布局. 这两年工作都在Android这里,Android里有号称5大布局(RelativeLay ...

  3. APP测试点归纳

    1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即 15个工作日), 根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向主管确认项目排期. 1.3测试资源 ...

  4. 2017寒假零基础学习Python系列之函数之 返回多个值

    Python也和C语言一样有自己的标准库,不过在Python中叫做模块(module),这个和C语言中的头文件以及Java中的包类似,其中math就是其中之一,math模块中提供了sin()和cos( ...

  5. href 和 src 区别

    去网上百度了一下,感觉还是没有清楚的定义,所以自己稍稍的总结了一下: 1 html标签分为行类元素 和块元素 在加空元素(也可以叫做替换元素img input iframe):当元素为替换元素的时候, ...

  6. svo笔记

    使用 要想在ros中有更多的debug信息,要在global.h中把ros log的级别设为debug,最简单的就是把SVO_DEBUG_STREAM(x)改成ROS_INFO_STREAM(x) # ...

  7. 【Storm】Storm实战之频繁二项集挖掘

    一.前言 针对大叔据实时处理的入门,除了使用WordCount示例之外,还需要相对更深入点的示例来理解Storm,因此,本篇博文利用Storm实现了频繁项集挖掘的案例,以方便更好的入门Storm. 二 ...

  8. Oracle锁表处理操作笔记

    --查看锁表进程SQL语句1: SELECT sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, ...

  9. POJ 2152 fire / SCU 2977 fire(树型动态规划)

    POJ 2152 fire / SCU 2977 fire(树型动态规划) Description Country Z has N cities, which are numbered from 1 ...

  10. 30分钟学会使用Spring Web Services基础开发

    时隔一年终于又推出了一篇30分钟系列,上一篇<30分钟学会反向Ajax>是2016年7月的事情了.时光荏苒,岁月穿梭.虽然一直还在从事Java方面的开发工作,但是私下其实更喜欢使用C++. ...