如何在没有 shell 历史记录的情况下在 linux 上运行加密命令

Gue*_*OCs 2 linux encryption bash shell command-history

我想在不将 shell 命令的任何部分记录到 bash 历史记录的情况下加密某些内容。我不希望密码或任何文件名或命令出现在 shell 历史记录中。如何使用 AES 256 和 SHA2 来做到这一点?(我相信这是今天最秘密的配置吧?)

Rob*_*rtL 7

暂时关闭历史记录的最佳方法是启动一个子shell,并将HISTSIZE 环境变量设置为0

HISTSIZE=0 $0
type your commands here
<ctrl-D>
Run Code Online (Sandbox Code Playgroud)

退出子外壳后,原始登录外壳中的历史记录不受影响

$0可确保您启动正在使用的相同 shell。您可以替换$0为任何 shell 的路径,例如:/bin/sh.

这适用于最常见的外壳,包括bashkshzshdash。我认为这是一个 POSIX 标准。

您还可以键入exit以退出子shell。

例子

HISTSIZE=0 $0
type your commands here
<ctrl-D>
Run Code Online (Sandbox Code Playgroud)