linux bash 命令重定向和多命令执行

Posted 小美随笔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux bash 命令重定向和多命令执行相关的知识,希望对你有一定的参考价值。

转自:http://blog.csdn.net/qq_16811963/article/details/52997178

输出重定向

>代表以覆盖的方式将命令的正确输出输出到指定的文件或设备当中。 
>>代表以追加方式输出。

常用的输出重定向:

  • 1.命令 >> 文件 2>&1 :以追加的方式,把正确输出和错误输出都保存在文件中。
  • 2.命令&>文件名:以覆盖的方式将正确和错误输出都保存在文件中。
  • 3.命令&>>文件名:以追加的方式将正确和错误输出都保存在文件中。
  • 4.命令>>文件A 2>>文件B:正确的输出到A文件中,错误的输出到B文件中。

    注意:只要涉及到错误输出,>或者>>两侧都不能有空格。

    例子:

    技术分享图片

    关于黑洞:可以把一些不需要显示的命令丢进黑洞(/dev/null)

    技术分享图片

输入重定向

  • 命令<文件名:把文件作为命令的输入,例如wc命令时统计行,单词书和字符的。

    例子:技术分享图片

多命令顺序执行

  • 1.命令1;命令2 :执行完1再执行2,命令之间没有任何逻辑联系

    技术分享图片

  • 2.命令1&&命令2:&&是一个“自私”符号,即命令1正确我命令2才执行,你错误了我2就不执行。

  • 3.命令1||命令2:是一个备胎符号,即1不行了2就上,1行的话我就不执行。

管道符

命令格式:命令A|命令B,即命令1的正确输出作为命令B的操作对象。

Bash中的其他特殊符号

    • 单引号‘’:引号内的所有字符都只是字符而已,没有特殊含义。
    • 双引号”“: 除了$`和\之外,均无特殊含义。
    • “:反引号,反引号内部的内容是系统命令,在Bash中会先执行他,例如aa=$(ls),那么ls执行的结果会赋给aa。
    • $(): 和反引号作用一样,推荐使用。
    • #:shell脚本中代表注释。
    • $:用于调用变量的值,相当于C语言的*。
    • :转义符。

      实例: 
      技术分享图片



以上是关于linux bash 命令重定向和多命令执行的主要内容,如果未能解决你的问题,请参考以下文章

Part2 Linux Bash Shell变量和重定向

python 通过 subprocess 执行命令,重定向实时输出

根据退出代码bash脚本将命令重定向到变量或文件?

Shell编程Shell中Bash基本功能

Shell编程Shell中Bash基本功能

Linux下shell编程