在 OS X 上执行终端命令而不将其保存到 .bash_history?

cwd*_*cwd 22 terminal bash history command-line macos

该站点表示,在 Linux 上,您可以space在终端命令之前添加一个以将其排除在.bash_history.

这似乎不适用于 Mac OS X。有谁知道在终端上执行单个命令而不将其保存到历史记录的方法?

我不想清除历史。

在此处输入图片说明

gow*_*eon 26

将以下行添加到 ~/.bashrc

export HISTCONTROL=ignorespace
Run Code Online (Sandbox Code Playgroud)

然后source ~/.bashrc刷新设置

这应该在 bash 中启用该功能。如果它不起作用,您可能需要将它添加到 ~/.bash_profile 而不是 ~/.bashrc 因为 OS X 加载它们与我认为的 linux 有点不同。

  • “ignoredups”设置忽略重复的行。连续输入“ls”二十次只会在历史记录中得到其中一个。但是,每次输入“ls”,然后输入“ps”,然后再次输入“ls”都会存储“ls”和“ps”——除非你有 bash 3 并设置了“erasedups”。如果设置了,则根本不会在 bash 历史记录中输入重复项。- http://www.cyberciti.biz/faq/bash-for-loop-array/ (3认同)
  • `export HISTCONTROL=erasedups:ignorespace` (2认同)
  • 但我认为它实际上是`export HISTCONTROL=ignoredups:ignorespace` (2认同)
  • 似乎没有使用`.bashrc`(OSX 10.13.5)但使用`.bash_profile`。 (2认同)