Linux生成一个以执行的文件sh为名+时间的log文件

Linux生成一个以执行的文件sh为名+时间的log文件


场景:
有时执行sh文件时,需要将文件前缀名+时间当作log文件前缀

解决:
获取文件名(包括后缀)
v_fullName=$0

获取文件前缀名
v_name=${v_fullName%.*}

文件前缀名+时间(20190406_163021)
v_nameLog=${v_name}_`date +%y%m%d_%H%M%S`.log

演示:
执行test.sh文件
# sh test.sh

会获得的文件名如下
test_190406_163342.log
 

dae和+之间要有空格。

想要将shell脚本在terminal上的输出结果生成一个日志文件,可以使用Linux的重定向符号和管道符号。以下是一些示例: 1. 将标准输出重定向到日志文件 ``` ./example.sh > example.log ``` 这将执行`example.sh`脚本并将其标准输出重定向到`example.log`文件中。如果文件不存在,则会创建一个文件;如果文件已经存在,则会覆盖原有的内容。 2. 将标准输出和标准错误输出都重定向到日志文件 ``` ./example.sh &> example.log ``` 这将执行`example.sh`脚本并将其标准输出和标准错误输出都重定向到`example.log`文件中。 3. 在日志文件中追加输出 ``` ./example.sh >> example.log ``` 这将执行`example.sh`脚本并将其标准输出附加到`example.log`文件末尾。如果文件不存在,则会创建一个文件;如果文件已经存在,则会在其末尾添加新的内容。 4. 通过管道符号将输出写入到日志文件 ``` ./example.sh | tee example.log ``` 这将执行`example.sh`脚本并将其标准输出通过管道符号传递给`tee`命令,`tee`命令将输出同时写入到终端和`example.log`文件中。 在实际使用中,可以根据需要组合这些重定向符号和管道符号。例如: ``` ./example.sh 2>&1 | tee -a example.log ``` 这将执行`example.sh`脚本并将其标准输出和标准错误输出都通过管道符号传递给`tee`命令,并使用`-a`选项将输出追加到`example.log`文件末尾。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值