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 &

  

时间: 2024-11-05 19:41:27

Linux 命令——tee 重定向到文件并打印到屏幕的相关文章

每天学一个linux命令——cat[用于连接文件并打印到标准输出设备上]

语法格式:cat [-AbeEnstTuv] [--help] [--version] fileName 参数说明:-n 或 --number:由 1 开始对所有输出的行数编号.-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号.-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行.-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外.-E 或 --show-ends :

Linux命令工具基础02 文件及目录管理

文件及目录管理 文件管理不外乎文件或目录的创建.删除.查询.移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询:find的参数丰富,也非常强大: 查看文件内容是个大的话题,文本的处理有太多的工具供我们使用,在本章中只是点到即止,后面会有专门的一章来介绍文本的处理工具: 有时候,需要给文件创建一个别名,我们需要用到ln,使用这个别名和使用原文件是相同的效果: 创建和删除 创建:mkdir 删除:rm 删除非空目录:rm -rf file目录 删除日志 $rm *log 等价: $

Linux命令——tee

转自:Linux tee Command Explained for Beginners (6 Examples) 8 Linux Tee Command with Examples 国内已有人翻译此文:为初学者介绍的 Linux tee 命令(6 个例子) 简介 有时候,你会想手动跟踪命令的输出内容,同时又想将输出的内容写入文件,确保之后可以用来参考.如果你想寻找这相关的工具,那么恭喜你,Linux 已经有了一个叫做 tee 的命令可以帮助你.tee命令读入标准输入,并写到标准输出和文件(一个

linux 命令 htop & 重定向 top

最近在用linux服务器跑程序,有几条linux命令还蛮重要的,总结一下: 1. 直接跑代码: python test.py 2. 若想程序在后台跑,即使本地和服务器断开也能运行: nohup python test.py >test.out & 这里把输出在控制台的结果重定向到了 test.out 这个文件中,即可以在test.out中查看输出结果了. 3. cat 命令:文本输出命令,通常是用于观看某个文件的内容 cat test.out 这样就可以显示test.out里面的内容了. 4

你知道哪些linux命令,能把文件上传到远程linux服务器

多数情况下 企业的服务基本都是部署在linux服务器 那对于测试同学,必须掌握基本的linux命令 至少要知道怎么部署整体环境 部署过程中,经常需要的操作,是向服务器上传部署包 你一般都是通过什么方式上传到服务器的? 方式很多中 如果你是securecrt工具,那就非常简单了 sz & rz 轻松搞定上传&下载 如果是纯命令操作呢? 如果你本机是mac,没有用到任何工具,仅仅只是用的终端 怎么样向服务器上传部署包? ----- 方式同样有很多种,今天分享ssh方式,很简单(一行命令搞定!)

PHP执行Linux命令行小例——文件压缩

前几天工作中,需要将3个txt文件,打包成*.zip down到本地…… 一开始,我和普通青年一样,想到用PHP内置的 ZipArchive,代码看起来应该是这样的: /*拆分成3个txt文件 分别是wow_1.txt wow_2.txt 和 wow_3.txt*/ $zip=new ZipArchive(); $zipfile='./Exl_file/wow.zip'; if($zip->open($zipfile,ZIPARCHIVE::CREATE)===TRUE){ $zip->add

linux命令之scp远程文件复制

scp是linux中功能最强大的文件传输命令,可以实现从本地到远程以及远程到本地的轻松文件传输操作.下面简单的讲解一些关于scp命令的操作,给有用的人一些参考: 首先是本地到远程的操作:操作的格式如下 scp local_file [email protected]_ip:remote_folder 或者 scp local_file [email protected]_ip:remote_file 或者 scp local_file remote_ip:remote_folder 或者 scp

第一天linux命令ls 和删除文件夹命令rm 复制和移动更名

linux命令 ls ---列出文件及文件夹ls -l ---输出结果的字段意思ls -l uer ---指定文件带参数的信息 drwxrwxrwx ---第一个字段带表文件类型(-:文件,d:文件夹),后9位代表对应的权限:每3位一档,用户.组.其他组的权限,每档的权限分为三位,分别对应读写执行的权限 -rw-r--r-- 1 oracle dba 0 Dec 3 16:40 filename 1文件数 oracle用户 dba用户组 0文件大小 Dec 3 16:40修改时间 filenam

Linux命令:磁盘和文件系统管理

一.磁盘管理命令 1.du:评估文件系统的磁盘使用量(显示美国而目录的大小) 格式:du [OPTION]... [FILE]... -s: sumary  列出总量 -h: human-readable    G/M格式显示出来 2.df:报告文件系统分区的使用情况 格式:df [OPTION]... [FILE]... -l:仅显示本地文件的相关信息: -h:human-readable -i:显示inode的使用状态而非blocks 3.fdisk:创建查看分区 (1)查看磁盘的分区信息: