我似乎发现该~/.bash_history
文件不包含使用向上箭头时显示的内容。我通过执行这样的命令发现了这一点
smbclient -L 10.2.10.240 -umyuser -p"mypassword on the command line is bad"
Run Code Online (Sandbox Code Playgroud)
这个命令实际上是错误的,它有一个错误,-u
实际上应该是a -U
,所以这个命令失败了。
但是我也意识到这样做不好,因为它会将您的密码放入历史记录中,我进入.bash_history
并且有趣的是它没有错误。它只有
smbclient -L 10.2.10.240
Run Code Online (Sandbox Code Playgroud)
就是这样。但这会变得很奇怪,如果您使用向上箭头,则整个命令包括错误都可供您编辑。
所以问题是,为什么里面的内容.bash_history
和向上箭头显示的内容之间存在差异?向上箭头数据在哪里?
在你指出之前;在这种情况下它非常方便,因为它阻止了我的密码被保存,但是,这不是它这样做的原因,我还使用正确的选项对其进行了测试,然后它确实保存了包括密码在内的整个命令。
该~/.bash_history
文件仅在您关闭/退出终端时更新。当您在终端中时,您可以在该会话中输入的命令中向后浏览。因此,如果您退出该终端会话,您的历史记录将使用丢失的命令进行更新。
此外,如果您在一行的开头在命令之前放置一个空格,则该命令将不会保存在历史记录中。如果您发出不想包含在历史记录中的命令,这是一个很好的做法。