bash手稿中的历史命令

历史是一种覆盖 - 在命令中构建我无法在BASH手稿中使用它。 那么,有没有办法利用BASH手稿获得这个?
下面我们给你的手稿:

#!/bin/bash
history |  tail -100 > /tmp/history.log
cd /tmp
uuencode history.log history.txt  | mail -s "History log of server" [email protected]
0
2019-05-13 03:11:05
资源 分享
答案: 3

我不确定它是否实际上在非交互式运行时使用了背景容量,否则你运行的每个封面手稿肯定会弄乱你的命令历史。

为什么不直接访问资源${HOME}/.bash_history,使用tail -100 ${HOME}/.bash_history更改history | tail -100。 (如果你使用时间戳,你可能需要按照grep -v ^# ${HOME}/.bash_history | tail -100的方式做一些事情)。

0
2019-05-17 15:49:43
资源

内置背景似乎在shell手稿中受损。 见下文:http://www.tldp.org/LDP/abs/html/histcommands.html

我实际上没有找到任何与此有关的主要文件。

0
2019-05-17 15:35:59
资源

Bash默认禁用非交互式覆盖中的背景,但您可以对其进行转换。

#!/bin/bash
HISTFILE=~/.bash_history
set -o history
history | tail …

但是,如果您尝试检查该特定Web服务器上的任务,则覆盖背景是没有意义的(运行不在后台出现的命令并不重要)。 见如何在Linux中记录所有进程启动

如果您正在调试稿件,那么shell背景不是获取有价值详细信息的最有效方法。 调试跟踪中心是一个更好的设备:将set -x放在稿件顶部附近。 跟踪是典型的错误。

0
2019-05-17 07:52:45
资源