每次我在 中搜索一个术语时less
,它都会将我的搜索存储在文件中.lesshst
。我该如何停止这种行为?
答案1
打开终端并.lesskey
在主文件夹中创建一个文件,并将以下内容附加到其中:
#env
LESSHISTSIZE=0
如果您的主文件夹中已有该文件.lesshst
,请将其删除并输入命令
lesskey
您不应该在这里收到任何错误。less
从现在起,这将不会存储任何历史记录,直到您更改.lesskey
文件为止。
环境变量
Environment variables may be specified either in the system environment as usual, or in a lesskey (1) file. If environment variables are defined in more than one place, variables defined in a local lesskey file take precedence over variables defined in the system environment, which take precedence over variables defined in the system-wide lesskey file.
最小尺寸
The maximum number of commands to save in the history file. The default is 100.
编辑:
从评论中,我找到了一种更好的方法来防止少保留历史文件。
在.lesskey
主文件夹中的文件中,附加以下内容:
LESSHISTFILE=-
或者
LESSHISTFILE=/dev/null
如果你把它放在你的文件中,它将会起作用,但是如果你的文件中相同变量~/.bashrc
有其他值,它将具有较低的优先级。.lesskey
你可能想看看这个:
答案2
将其添加到您的~/.bashrc
:
export LESSHISTFILE=-
为了验证,您现在可以启动一个新 shell,删除该~/.lesshist
文件,然后开始使用less
。它不应该~/.lesshist
再创建新文件。
请注意, 很export
重要。如果省略它,LESSHISTFILE
变量似乎已设置(echo $LESSHISTFILE
将输出-
),但它不会传递给less
。
答案3
LESSHISTFILE
这基本上是一个通过命令前缀环境操作来覆盖的 bash 技巧。
history | LESSHISTFILE=/dev/null less
这样做的目的是将命令的输出通过管道传输history
到命令中less
,同时使用命令前缀来操作暴露给命令的环境less
。
这在bash 参考作为:
任何简单命令或函数的环境都可以通过在它前面加上参数赋值来临时增强,如 Shell 参数中所述。这些赋值语句仅影响该命令所见的环境。