Bash 交互式 - 整个脚本写入历史

Bash 交互式 - 整个脚本写入历史

有时我会使用 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"

相关内容