zoukankan      html  css  js  c++  java
  • 永久重定向

    如果在脚本中重定向许多数据,那么重定向每个echo语句就不太方便了,这种情况下,可以使用exec命令通知shell脚本执行期间重定向特定的文件描述符

    文件名为: sh12.sh 

    #!/bin/bash
    # redirecting all output to a file
    exec 1>testout
    
    echo "This is a test of redirecting all output"
    echo "from a script to another file."
    echo "without haviing to redirect every individual line"

    exec命令启动一个新的shell,并将STDOUT文件描述重定向到一个文件,所有定向到STDOUT的脚本输出都将重定向到这个文件

    运行 sh sh12.sh ,你会发现没输出任何东西,然后查看testout文件, cat testout 

    输出:

    This is a test of redirecting all output
    from a script to another file.
    without haviing to redirect every individual line

    然后将错误信息和正确信息分别重定向不同的文件

    文件名 sh13.sh 

    #!/bin/bash
    # redirecting output to different locations
    
    exec 2>testerror
    
    echo "This is the start of the script"
    echo "now reidirecting all output to another location"
    
    exec 1>testout
    
    echo "This output should go to the testout testout file"
    echo "but this should go to the testerror file" >&2

    运行 sh sh13.sh 

    输出:

    This is the start of the script
    now reidirecting all output to another location

    查看testout文件的内容 cat testout 

    输出: This output should go to the testout testout file 

    查看testerror文件的内容 cat testrror 

    输出: but this should go to the testerror file 

  • 相关阅读:
    JSON和JSONP
    微信问题汇总
    Linux 技巧:让进程在后台可靠运行的几种方法
    redis笔记
    php安装
    数据库分享一: MySQL的Innodb缓存相关优化
    nginx是以多进程的方式来工作的
    运行和控制Nginx
    nginx安装
    Redis监控技巧总结
  • 原文地址:https://www.cnblogs.com/jacson/p/4791398.html
Copyright © 2011-2022 走看看