这是针对单行,而不是命令。我找到了让它始终阻止单个命令的历史记录的方法。
谢谢。
编辑:抱歉措辞不佳。
单行 - 例如,如果我输入,,git push production
我可能不想将来意外地执行这一行,因为它应该只偶尔运行,并且它会产生严重的后果。
命令 - 在此示例中,命令是git
。我希望历史被铭记git push; git push staging
单一命令 - 也意味着命令。
现在清楚了吗?谢谢。
答案1
当您对比“命令”和“线路”时,不清楚您的意思。我认为该命令是您在提示符下键入的所有内容,直到 shell 解释它为止 - 通常是在您按下之前,enter除非它在引号内或转义。在 Bash 中,HISTIGNORE
环境变量允许您指定模式列表;如果任何模式与命令匹配,则不会将其记录在历史记录中。
因此,如果您HISTIGNORE
包含[ \t]*
,任何以空格或制表符开头的命令都将被忽略。其中包括以下各项:
echo hi
echo hi; echo there
echo hi; echo there && echo fluffy
echo hi | cat