bash shell脚本是否会保留其命令历史记录?

时间:2017-05-17 05:11:30

标签: linux bash

bash shell脚本是否保留了执行命令的历史记录,例如.bash_history

我很好奇。

1 个答案:

答案 0 :(得分:1)

不,它没有: https://www.gnu.org/software/bash/manual/html_node/Bash-History-Facilities.html

  

9.1 Bash历史记录设施

     

当启用set builtin的-o history选项时(请参阅Set Builtin),shell可以访问命令历史记录,以前键入的命令列表。

要获取当前设置,请使用set -o命令。在interactive shells(使用bash的-i选项或登录或终端的常规栏中),它会打印history on。在脚本中使用时(bash -c 'set -o'或在没有tty分配的情况下执行ssh machine bash)时,它会被取消设置:history off

https://www.gnu.org/software/bash/manual/html_node/Interactive-Shell-Behavior.html

  

6.3.3交互式Shell行为 - 当shell以交互方式运行时,它会以多种方式改变其行为。

     
      
  1. 默认情况下启用命令历史记录(请参阅Bash历史记录设施)和历史记录扩展(请参阅历史记录交互)。当启用了历史记录的shell退出时,Bash会将命令历史记录保存到$ HISTFILE命名的文件中。
  2.   

可以在脚本中使用以下几个命令启用历史记录:https://askubuntu.com/questions/546556/how-can-i-use-history-command-in-a-bash-script / https://unix.stackexchange.com/questions/5684/history-command-inside-bash-script - 设置HISTFILE和(可选)HISTTIMEFORMAT,使用set -o history启用,然后使用history命令。