bash 输出log文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bash 输出log文件相关的知识,希望对你有一定的参考价值。

timeStr=`date +%Y%m%d-%H-%M-%S`

LogFile=/log/log.PriceVolume.$timeStr

echo logfile $LogFile

nohup Rscript --vanilla "PriceVolume.R" >$LogFile 2>&1 &

这是一个执行并输入日志文件的程序,但是每次执行都是单独生成日志文件,
我想把LogFile=/log/log.PriceVolume.$timeStr改成LogFile=/log/log.PriceVolume
但是又想$timeStr一起输出到logfile中,请问该怎么修改

参考技术A 0、1和2分别表示标准输入、标准输出和标准错误信息输出,
将一个脚本的执行过程及执行结果打印到日志的常用命令:
./myscript.sh 2>&1 | tee mylog.log

可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。本回答被提问者和网友采纳

Linux进阶之bash编程四(内置变量)

一:基础回顾 

1:文件清空

[[email protected] test]$ >log.txt

2:正常和错误重定向输出

//正常和错误都追加输出到同样地方

[[email protected] test]$ ifconfig &>>log.1   

//正常输出重定向
[[email protected] test]$ ifconfig >log

//错误输出重定向
[[email protected] test]$ ifconfig 2>log.2
3:命令执行控制

//休眠1秒钟

[[email protected] test]$ sleep 1
 4:bash脚本开头

 //bash脚本必须以此开头,声明命令解释器路径

#!/bin/bash           
 5:用户交互,读取用户输入的信息并保存到变量

语法:read  变量1   变量2

[[email protected] bash]$vi read.sh

!#/bin/bash

echo -n"please input your name:"

read name

echo "your name is:$name"

[[email protected] bash]$bash read.sh

[[email protected] bash]$please input your name:jackchen

your name is:jackchen

二:内置变量使用

内置变量:系统本来就存在的变量,可直接使用的。在执行脚本的时候,可通过带参数传入脚本内部。

内置变量有:$0  脚本本身

                        $1 , $2  ....参数

                        $# 总共几个参数

练习1:如下inside.sh脚本,执行的时候带入3个参数1 ,2,3,打印$0,$1,$2,$#的值

技术分享

练习2:编写一个bash脚本,实现两个数的加法?编写一个计算器?

//编写一个bash脚本

[[email protected] bash]$vi add.sh

#!/bin/bash

echo $[$1+$2]

[[email protected] bash]$bash add.sh 3 2

5

//编写一个计算器

[[email protected] bash]$vi calc.sh

#!/bin/bash

echo "$1"|bc

[[email protected] bash]$bash calc.sh 2+3*5-6/2

14

本文出自 “催花雨” 博客,请务必保留此出处http://chenwen.blog.51cto.com/771416/1759945

以上是关于bash 输出log文件的主要内容,如果未能解决你的问题,请参考以下文章

从 bash 脚本本身将 stdout 的副本重定向到日志文件

Linux进阶之bash编程四(内置变量)

Linux进阶之bash编程四(内置变量)

如何在 Linux 中为每个输出行列出一个文件名?

Bash:从输出中去除尾随换行符

有组织地登录 Bash