Why some lines (as below line 509 and 512 ) in Bash history become "*", after I execute reverse-i-search?
507 stty -ixon 508 history 509* 510 echo 10 511 echo 20 512* 513 ls 514 history 515 stty ixon 516 stty -a 517 stty -h 518 man stty 519 history
The star means the line has been modified.
History expansion is performed immediately after a complete line is read, before the shell breaks it into words, and is performed on each line individually. Bash attempts to inform the history expansion functions about quoting still in effect from previous lines. History expansion takes place in two parts.
!- 1 is the same as !! and executes the last command from the history list, !- 2 second to last, and so on. Another way to search through the command history is by pressing Ctrl-R .
Basic Linux historyThe history command simply provides a list of previously used commands. That's all that is saved in the history file. For bash users, this information all gets stuffed into the . bash_history file; for other shells, it might be just .
The star means the line has been modified. See man history
.
Demonstration:
From the terminal prompt use the up-arrow key to display a previous command. Delete the command with the backspace key. Use the down-arrow key to return to the last prompt and enter history The modified line should now be displayed in the history as a line number followed by a star.
*
Asterisk is an indication as well, that the commands were run from a different session. You can check this by opening two terminal windows, running bunch of commands and checking history
on both. Asterisk will only appear on the commands the other window executed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With