有时我会使用 shebang 编写一个交互模式脚本,如下所示:
#!/usr/bin/env bash -i
由于最近的某种原因,在此模式下运行的任何脚本都已将其全部内容写入我的.bash_history
文件。
例如:
内容测试.sh:
#!/usr/bin/env bash -i echo "hello"
13:54:50 ツ:~ >./test.sh 你好 13:54:53 ツ :~ >历史 |尾-4 89969 #!/usr/bin/env bash -i 89970 回显“你好” 89971./test.sh 89972 历史 |尾-4
如果我不我的中有这一行.bash_profile
:
shopt -s histappend
然后问题就不会发生 - 但每次打开新的“终端”选项卡时,我都会丢失整个历史记录。
其中与历史相关的所有选项.bash_profile
如下:
shopt -s histappend
set +H
export HISTCONTROL=ignoreboth
export HISTSIZE=100000
export HISTFILESIZE=100000
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"