![粘贴到 bash 中的命令未记录在历史记录中](https://linux22.com/image/87945/%E7%B2%98%E8%B4%B4%E5%88%B0%20bash%20%E4%B8%AD%E7%9A%84%E5%91%BD%E4%BB%A4%E6%9C%AA%E8%AE%B0%E5%BD%95%E5%9C%A8%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95%E4%B8%AD.png)
有时我发现当我从网页(或从终端窗口本身)复制/粘贴命令时,粘贴的命令不会记录在 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
(笔记:我手动输入cd
命令 -git push
命令已粘贴)。
但是,当我输入时history
,我看到了这个:
2008 cd foo
2009 cd ../foo2
2010 cd ../foo3/
2011 cd ../foo4
2012 history
重击版本:
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
Linux版本:
Ubuntu 14.04 LTS
终端版本:
Gnome Terminal 3.6.2
这有点烦人,因为一方面history
并没有准确地显示我做了什么。其次,我不能只是向上箭头来回忆我刚刚粘贴的命令。
为什么要这样做?我怎样才能阻止它?
答案1
从bash
联机帮助页:
以空格字符开头的行不会保存在历史列表中。
您粘贴的命令前面有空格,因此不会保存在历史记录中。