• Linux 命令——tee 重定向到文件并打印到屏幕


    需求:

    源于我一个业务实现,需要通过shell脚本去调Java程序,并且能够拿到Java里面的返回值。

    思路:

    众所周知,通过shell调用Java,肯定是通过 Java -jar xxx.jar 命令去调用jar的某个main函数了,如果想返回来值,最好的办法当然是System.out.println("返回值"),可以类比于日志打印的方式。不然你用echo $?,只能拿到返回给OS的值了。既然通过打日志的方式,那么当然通过>方式存入某个日志文件了,怎么样同时存储到日志文件并且能在屏幕上展示呢?

    linux里面有个tee命令,

    功能说明:读取标准输入的数据,并将其内容输出成文件。
    语  法:tee [-ai][--help][--version][文件...]
    补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件(此时文件不存在会创建新文件)。
    参  数:
     -a或--append  附加到既有文件的后面,而非覆盖它. 
     -i-i或--ignore-interrupts  忽略中断信号。 
     --help  在线帮助。 
     --version  显示版本信息。
    

    详细.sh如下:

    #sh ./install.sh
    claspath='../lib/*:../plugins/*'
    ../jre/bin/java -Dbsp-mysql -Dlogback.configurationFile=../conf/logback.xml -Dbase.dir=../ -cp $claspath com.broada.bsp.mysql.TestAvgs |tee run.log 2 &
    

      

  • 相关阅读:
    Android SDK 国内镜像及配置方法
    Python多线程学习
    JProfiler 8下载地址和注册码
    Python自动化测试工具Splinter简介和使用实例
    linux系统新建用户ssh远程登陆显示-bash-4.1$解决方法
    Linux系统安装VMware Tools
    CentOS minimal网络设置
    接口测试之webservice
    VirtualBox-Linux系统安装增强功能
    PhantomJS快速入门
  • 原文地址:https://www.cnblogs.com/zengdan-develpoer/p/4666639.html
Copyright © 2020-2023  润新知