是否可以在 中打开隐身会话bash
?
例如,当我们需要在命令中输入密码而不想bash
将它们添加到历史记录时。
或者换一种说法,你为什么要阻止命令被写入 bash 历史记录?
(受到一个相关问题的启发。)
有哪些技巧可以避免在不涉及修改.bashrc
或删除历史文件中的内容的法西斯日志记录环境中记录 bash 历史记录?
我不时发现当我从网页(或从终端窗口本身)复制/粘贴命令时,粘贴的命令没有记录在 bash 历史记录中。例如,刚才我是这样做的:
cd foo
git push --set-upstream origin master
cd ../foo2
git push --set-upstream origin master
cd ../foo3/
git push --set-upstream origin master
cd ../foo4
git push --set-upstream origin master
Run Code Online (Sandbox Code Playgroud)
(注意:我cd
手动输入命令 -git push
命令已粘贴)。
但是,当我输入时,history
我看到了这个:
2008 cd foo
2009 cd ../foo2
2010 cd ../foo3/
2011 cd ../foo4
2012 history
Run Code Online (Sandbox Code Playgroud)
bash 版本:
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
Run Code Online (Sandbox Code Playgroud)
Linux版本:
Ubuntu 14.04 LTS
Run Code Online (Sandbox Code Playgroud)
终端版本:
Gnome Terminal 3.6.2
Run Code Online (Sandbox Code Playgroud)
这有点烦人,因为一方面history
并没有完全显示我做了什么。其次,我不能只是向上箭头来回忆我刚刚粘贴的命令。
它为什么这样做,我该如何阻止它?
在 bash 中,当我使用 Ctrl-R 检索上一个命令时,为什么该命令以空格开头时不起作用?我可以让它匹配这样一个以前的命令吗?
$ date
Fri Nov 23 ... 2018
(failed reverse-i-search)` date': cd database/
Run Code Online (Sandbox Code Playgroud)