bash shell脚本是否保留了执行命令的历史记录,例如.bash_history
?
我很好奇。
答案 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以交互方式运行时,它会以多种方式改变其行为。
- 默认情况下启用命令历史记录(请参阅Bash历史记录设施)和历史记录扩展(请参阅历史记录交互)。当启用了历史记录的shell退出时,Bash会将命令历史记录保存到$ HISTFILE命名的文件中。
醇>
可以在脚本中使用以下几个命令启用历史记录: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
命令。