Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does bash shell script leave its command history?

Tags:

linux

bash

Does bash shell script leave the history of the commands it executed, such as .bash_history?

I'm curious about it.

like image 726
Константин Ван Avatar asked Oct 17 '25 00:10

Константин Ван


1 Answers

No, it does not: https://www.gnu.org/software/bash/manual/html_node/Bash-History-Facilities.html

9.1 Bash History Facilities

When the -o history option to the set builtin is enabled (see The Set Builtin), the shell provides access to the command history, the list of commands previously typed.

To get current settings, use set -o command. In interactive shells (with -i option of bash or in usual bashes from login or terminal) it prints history on. When used in scripts (bash -c 'set -o' or when you did ssh machine bash without tty allocation) it is unset: history off.

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

6.3.3 Interactive Shell Behavior - When the shell is running interactively, it changes its behavior in several ways.

  1. Command history (see Bash History Facilities) and history expansion (see History Interaction) are enabled by default. Bash will save the command history to the file named by $HISTFILE when a shell with history enabled exits.

History can be enabled in script with several commands: 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 - set HISTFILE and (optionally) HISTTIMEFORMAT, enable with set -o history and then use history command.

like image 93
osgx Avatar answered Oct 18 '25 15:10

osgx



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!