From a43e08df2deefa6b63dce66d57adad2c9a704eb7 Mon Sep 17 00:00:00 2001
From: Chet Ramey
Date: Mon, 5 Jan 2026 11:57:18 -0500
Subject: [PATCH] history builtin has a -H option to display history entries as
they would be written to the history file; history builtin now takes a
START-END range specifier for listing; fix stray semicolon when printing
shell functions containing a case command; changes to stdin redirection
detection in preparation for POSIX interp 1913
---
CWRU/CWRU.chlog | 35 +
MANIFEST | 2 +-
builtins/history.def | 199 +++--
doc/Makefile.in | 5 +-
doc/bash.0 | 61 +-
doc/bash.1 | 68 +-
doc/bash.html | 91 ++-
doc/bash.info | 114 +--
doc/bash.pdf | Bin 443436 -> 444427 bytes
doc/bashref.aux | 2 +-
doc/bashref.bt | 2 +-
doc/bashref.bts | 2 +-
doc/bashref.html | 78 +-
doc/bashref.info | 114 +--
doc/bashref.log | 31 +-
doc/bashref.pdf | Bin 810750 -> 811602 bytes
doc/builtins.0 | 1482 +++++++++++++++++-----------------
doc/builtins.pdf | Bin 144668 -> 145578 bytes
doc/version.texi | 5 +-
execute_cmd.c | 4 +-
lib/readline/doc/hsuser.texi | 60 +-
print_cmd.c | 1 +
redir.c | 15 +-
tests/builtins.right | 4 +-
tests/history.right | 119 ++-
tests/history.tests | 1 +
tests/history11.sub | 75 ++
27 files changed, 1507 insertions(+), 1063 deletions(-)
create mode 100644 tests/history11.sub
diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog
index 15553f70..9ec9fe60 100644
--- a/CWRU/CWRU.chlog
+++ b/CWRU/CWRU.chlog
@@ -12447,3 +12447,38 @@ builtins/evalstring.c
execute_cmd.c
- execute_command_internal: set currently_executing_command to NULL
in places where we return from this function
+
+ 12/26
+ -----
+builtins/history.def
+ - -H: new option, means to display history entries as they would be
+ written to the history file, with timestamp information and without
+ line numbers or `*'
+ - listing now takes a START-END range argument, so you can list a
+ subset of the history list from START to END, with the format
+ subject to the -H option. If START > END, list in reverse order.
+ This moves history and fc functionality closer to convergence
+ - parse_range: new function, encapsulates parsing START-END history
+ range specifiction; used by deletion and listing
+
+doc/bash.1,doc/bashref.texi
+ - history: update with a description of ranges, add description of -H;
+ listing and deletion now reference range description
+
+ 12/30
+ -----
+print_cmd.c
+ - print_case_clauses: reset was_heredoc to 0 after printing each case
+ clause, since any here-document must have been associated with the
+ command list following the pattern list and `)'
+ Report from "Stan Marsh" back in May, 2025
+
+ 12/31
+ -----
+doc/Makefile.in
+ - dvi: remove from default targets as per latest GNU coding standards
+
+redir.c
+ - stdin_redirection: now take the entire REDIRECT * as its argument,
+ so we can do additional posix-mandated checking on redirections
+ like 0<&0, to satisfy interp 1913
diff --git a/MANIFEST b/MANIFEST
index 3bf2fa24..f2cacc8b 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -697,7 +697,6 @@ doc/article.ps f
doc/rose94.ps f
#doc/bash.ps f
#doc/bashref.ps f
-doc/bashref.dvi f
doc/bash.0 f
doc/bashbug.0 f
doc/builtins.0 f
@@ -1301,6 +1300,7 @@ tests/history7.sub f
tests/history8.sub f
tests/history9.sub f
tests/history10.sub f
+tests/history11.sub f
tests/ifs.tests f
tests/ifs.right f
tests/ifs1.sub f
diff --git a/builtins/history.def b/builtins/history.def
index 4c36416c..478ae818 100644
--- a/builtins/history.def
+++ b/builtins/history.def
@@ -23,18 +23,32 @@ $PRODUCES history.c
$BUILTIN history
$FUNCTION history_builtin
$DEPENDS_ON HISTORY
-$SHORT_DOC history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
+$SHORT_DOC history [-c] [-H] [-d range] [range] or history -anrw [filename] or history -ps arg [arg...]
Display or manipulate the history list.
-Display the history list with line numbers, prefixing each modified
-entry with a `*'. An argument of N lists only the last N entries.
+Without options, or if -H is supplied, display the portion of the
+history list specified by RANGE, as described below. If -H is not
+supplied, the list displays line numbers, prefixing each modified
+entry with a `*'.
+
+When listing or deleting history entries, RANGE is an argument of
+the form of a number OFFSET or a range START-END. If OFFSET is supplied,
+it references the history entry at position OFFSET; when listing, this
+displays the last OFFSET entries. A negative OFFSET is interpreted
+relative to one greater than the last history position, so negative
+OFFSETs count back from the end of the history list. START and END, if
+supplied, reference the portion of the history list beginning at position
+START through position END. Negative START and END count back from the
+end of the history list. When listing, if START is greater than END,
+the history entries are displayed in reverse order from START to END.
Options:
-c clear the history list by deleting all of the entries
- -d offset delete the history entry at position OFFSET. Negative
- offsets count back from the end of the history list
- -d start-end delete the history entries beginning at position START
- through position END.
+ -d range delete the history entries specified by RANGE. RANGE is
+ described above.
+ -H display the selected history entries in the format that would
+ be written to the history file, including any timestamp,
+ without prefixing any line number or `*'.
-a append history lines from this session to the history file
-n read all history lines not already read from the history file
@@ -93,7 +107,8 @@ extern int errno;
#endif
static char *histtime (HIST_ENTRY *, const char *);
-static int display_history (WORD_LIST *);
+static int parse_range (char *, char *, int *, int *);
+static int display_history (WORD_LIST *, int);
static void push_history (WORD_LIST *);
static int expand_and_print_history (WORD_LIST *);
@@ -105,6 +120,7 @@ static int expand_and_print_history (WORD_LIST *);
#define PFLAG 0x20
#define CFLAG 0x40
#define DFLAG 0x80
+#define HFLAG 0x100
#ifndef TIMELEN_MAX
# define TIMELEN_MAX 128
@@ -119,7 +135,7 @@ history_builtin (WORD_LIST *list)
flags = 0;
reset_internal_getopt ();
- while ((opt = internal_getopt (list, "acd:npsrw")) != -1)
+ while ((opt = internal_getopt (list, "acd:npsrwH")) != -1)
{
switch (opt)
{
@@ -150,6 +166,9 @@ history_builtin (WORD_LIST *list)
flags |= PFLAG;
#endif
break;
+ case 'H':
+ flags |= HFLAG;
+ break;
CASE_HELPOPT;
default:
builtin_usage ();
@@ -189,37 +208,11 @@ history_builtin (WORD_LIST *list)
#endif
else if ((flags & DFLAG) && (range = strchr ((delete_arg[0] == '-') ? delete_arg + 1 : delete_arg, '-')))
{
- intmax_t delete_start, delete_end;
- *range++ = '\0';
- if (valid_number (delete_arg, &delete_start) == 0 || valid_number (range, &delete_end) == 0)
- {
- range[-1] = '-';
- sh_erange (delete_arg, _("history position"));
- return (EXECUTION_FAILURE);
- }
- if (delete_arg[0] == '-' && delete_start < 0)
- /* the_history[history_length] == 0x0, so this is correct */
- delete_start += history_length;
- /* numbers as displayed by display_history are offset by history_base */
- else if (delete_start > 0)
- delete_start -= history_base;
+ int delete_start, delete_end;
- if (delete_start < 0 || delete_start >= history_length)
- {
- sh_erange (delete_arg, _("history position"));
- return (EXECUTION_FAILURE);
- }
+ if (parse_range (delete_arg, range, &delete_start, &delete_end) != 0)
+ return (EXECUTION_FAILURE);
- if (range[0] == '-' && delete_end < 0)
- delete_end += history_length;
- else if (delete_end > 0)
- delete_end -= history_base;
-
- if (delete_end < 0 || delete_end >= history_length)
- {
- sh_erange (range, _("history position"));
- return (EXECUTION_FAILURE);
- }
/* XXX - print error if end < start? */
result = bash_delete_history_range (delete_start, delete_end);
if (where_history () > history_length)
@@ -266,7 +259,7 @@ history_builtin (WORD_LIST *list)
}
else if ((flags & (AFLAG|RFLAG|NFLAG|WFLAG|CFLAG)) == 0)
{
- result = display_history (list);
+ result = display_history (list, flags);
return (sh_chkwrite (result));
}
@@ -366,49 +359,123 @@ histtime (HIST_ENTRY *hlist, const char *histtimefmt)
return timestr;
}
+/* Parse a range START-END into two offsets into the history list (offset by
+ history_base), return in *STARTP and *ENDP. Return 0 on success, non-zero
+ on failure. Negative START and END are offsets from history_length. */
static int
-display_history (WORD_LIST *list)
+parse_range (char *arg, char *range, int *startp, int *endp)
{
- register int i;
+ intmax_t ls, le;
+
+ *range++ = '\0';
+ if (valid_number (arg, &ls) == 0 || valid_number (range, &le) == 0)
+ {
+ range[-1] = '-'; /* must point into ARG */
+ sh_erange (arg, _("history position"));
+ return (EXECUTION_FAILURE);
+ }
+ if (arg[0] == '-' && ls < 0)
+ ls += history_length;
+ else if (ls > 0)
+ ls -= history_base;
+ if (ls < 0 || ls >= history_length)
+ {
+ sh_erange (arg, _("history position"));
+ range[-1] = '-'; /* must point into ARG */
+ return (EXECUTION_FAILURE);
+ }
+ if (range[0] == '-' && le < 0)
+ le += history_length;
+ else if (le > 0)
+ le -= history_base;
+ if (le < 0 || le >= history_length)
+ {
+ sh_erange (range, _("history position"));
+ range[-1] = '-'; /* must point into ARG */
+ return (EXECUTION_FAILURE);
+ }
+
+ range[-1] = '-';
+ *startp = ls;
+ *endp = le;
+
+ return EXECUTION_SUCCESS;
+}
+
+static int
+display_history (WORD_LIST *list, int flags)
+{
+ int i, start, end, reverse;
intmax_t limit;
HIST_ENTRY **hlist;
- char *histtimefmt, *timestr;
+ char *histtimefmt, *timestr, *range, *list_arg;
- if (list)
+ reverse = 0;
+ if (list && list->word)
{
- if (get_numeric_arg (list, 0, &limit) == 0)
- return (EX_USAGE);
+ list_arg = list->word->word;
+ range = strchr ((list_arg[0] == '-') ? list_arg + 1 : list_arg, '-');
+ if (range)
+ {
+ if (parse_range (list_arg, range, &start, &end) != 0)
+ return (EXECUTION_FAILURE);
+ if (end < start) /* end < start means to print in reverse order */
+ {
+ int t;
+ t = end;
+ end = start;
+ start = t;
+ reverse = 1;
+ }
+ }
+ else
+ {
+ if (get_numeric_arg (list, 0, &limit) == 0)
+ return (EX_USAGE);
+ if (limit < 0)
+ limit = -limit;
- if (limit < 0)
- limit = -limit;
+ start = (0 <= limit && limit < history_length) ? history_length - limit : 0;
+ end = history_length - 1;
+ }
}
else
- limit = -1;
+ {
+ start = 0;
+ end = history_length - 1;
+ }
hlist = history_list ();
+ if (hlist == 0)
+ return (EXECUTION_SUCCESS);
- if (hlist)
+ histtimefmt = get_string_value ("HISTTIMEFORMAT");
+
+ for (i = reverse ? end : start; reverse ? i >= start : i <= end; reverse ? i-- : i++)
{
- for (i = 0; hlist[i]; i++)
- ;
+ QUIT;
- if (0 <= limit && limit < i)
- i -= limit;
- else
- i = 0;
-
- histtimefmt = get_string_value ("HISTTIMEFORMAT");
-
- while (hlist[i])
+ if (flags & HFLAG)
+ {
+ if (history_write_timestamps && hlist[i]->timestamp && hlist[i]->timestamp[0])
+ printf ("%s\n", hlist[i]->timestamp);
+ if (printf ("%s\n", histline (i)) < 0)
+ {
+ sh_wrerror ();
+ break;
+ }
+ }
+ else
{
- QUIT;
-
timestr = (histtimefmt && *histtimefmt) ? histtime (hlist[i], histtimefmt) : (char *)NULL;
- printf ("%5d%c %s%s\n", i + history_base,
- histdata(i) ? '*' : ' ',
- ((timestr && *timestr) ? timestr : ""),
- histline(i));
- i++;
+ if (printf ("%5d%c %s%s\n", i + history_base,
+ histdata (i) ? '*' : ' ',
+ ((timestr && *timestr) ? timestr : ""),
+ histline (i)) < 0)
+ {
+ sh_wrerror ();
+ break;
+ }
}
}
diff --git a/doc/Makefile.in b/doc/Makefile.in
index e0e2a15b..1bb1483c 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -154,8 +154,9 @@ BASHREF_FILES = $(srcdir)/bashref.texi $(srcdir)/fdl.texi $(srcdir)/version.texi
# $(RM) $@
# -${TEXI2PDF} $<
-all: info dvi text html pdf # $(MAN2HTML)
-nodvi: ps info text html
+all: info text html pdf # $(MAN2HTML)
+withdvi: pdf info text html dvi
+
everything: all ps
CREATED_PS = bash.ps bashref.ps
diff --git a/doc/bash.0 b/doc/bash.0
index 259d5bd2..f858b6b5 100644
--- a/doc/bash.0
+++ b/doc/bash.0
@@ -5841,8 +5841,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
ing is complete, ffcc reads the file containing the edited com-
mands and echoes and executes them. The --DD option, if supplied,
causes ffcc to remove the selected commands from the history list
- before executing the file of edited commands. --DD is only active
- when ffcc is invoked in this way.
+ before executing the file of edited commands. --DD is only effec-
+ tive when ffcc is invoked in this way.
In the second form, ffcc re-executes _c_o_m_m_a_n_d after replacing each
instance of _p_a_t with _r_e_p. _C_o_m_m_a_n_d is interpreted the same as
@@ -5973,21 +5973,36 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
The return status is 0 unless no command matches _p_a_t_t_e_r_n.
- hhiissttoorryy [[_n]]
+ hhiissttoorryy [[--HH]] [[_r_a_n_g_e]]
hhiissttoorryy --cc
- hhiissttoorryy --dd _o_f_f_s_e_t
- hhiissttoorryy --dd _s_t_a_r_t-_e_n_d
+ hhiissttoorryy --dd _r_a_n_g_e
hhiissttoorryy --aannrrww [_f_i_l_e_n_a_m_e]
hhiissttoorryy --pp _a_r_g [_a_r_g ...]
hhiissttoorryy --ss _a_r_g [_a_r_g ...]
- With no options, display the command history list with numbers.
- Entries prefixed with a ** have been modified. An argument of _n
- lists only the last _n entries. If the shell variable HHIISSTTTTIIMMEE--
- FFOORRMMAATT is set and not null, it is used as a format string for
- _s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis-
- played history entry. If hhiissttoorryy uses HHIISSTTTTIIMMEEFFOORRMMAATT, it does
- not print an intervening space between the formatted time stamp
- and the history entry.
+ With no options, or with the --HH option, display the portion of
+ the command history list specified by _r_a_n_g_e, as described below.
+ If _r_a_n_g_e is not specified, display the entire history list.
+ Without --HH, display the list with command numbers, prefixing en-
+ tries that have been modified with a "*".
+
+ A _r_a_n_g_e argument is specified in the form of a number _o_f_f_s_e_t or
+ a range _s_t_a_r_t-_e_n_d. If _o_f_f_s_e_t is supplied, it references the
+ history entry at position _o_f_f_s_e_t in the history list; when list-
+ ing this displays the last _o_f_f_s_e_t entries. A negative _o_f_f_s_e_t
+ counts back from the end of the history list, relative to one
+ greater than the last history position. When listing, negative
+ and positive _o_f_f_s_e_t_s have identical results. _s_t_a_r_t and _e_n_d, if
+ supplied, reference the portion of the history list beginning at
+ position _s_t_a_r_t through position _e_n_d. If _s_t_a_r_t or _e_n_d are nega-
+ tive, they count back from the end of the history list. When
+ listing, if _s_t_a_r_t is greater than _e_n_d, the history entries are
+ displayed in reverse order from _e_n_d to _s_t_a_r_t.
+
+ If the shell variable HHIISSTTTTIIMMEEFFOORRMMAATT is set and not null, it is
+ used as a format string for _s_t_r_f_t_i_m_e(3) to display the time
+ stamp associated with each displayed history entry. If hhiissttoorryy
+ uses HHIISSTTTTIIMMEEFFOORRMMAATT, it does not print an intervening space be-
+ tween the formatted time stamp and the history entry.
If _f_i_l_e_n_a_m_e is supplied, hhiissttoorryy uses it as the name of the his-
tory file; if not, it uses the value of HHIISSTTFFIILLEE. If _f_i_l_e_n_a_m_e
@@ -5998,16 +6013,14 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
--cc Clear the history list by deleting all the entries. This
can be used with the other options to replace the history
list.
- --dd _o_f_f_s_e_t
- Delete the history entry at position _o_f_f_s_e_t. If _o_f_f_s_e_t
- is negative, it is interpreted as relative to one greater
- than the last history position, so negative indices count
- back from the end of the history, and an index of -1
- refers to the current hhiissttoorryy --dd command.
- --dd _s_t_a_r_t-_e_n_d
- Delete the range of history entries between positions
- _s_t_a_r_t and _e_n_d, inclusive. Positive and negative values
- for _s_t_a_r_t and _e_n_d are interpreted as described above.
+ --dd _r_a_n_g_e
+ Delete the history entries specified by _r_a_n_g_e, as de-
+ scribed above. An index of -1 refers to the current hhiiss--
+ ttoorryy --dd command.
+ --HH Display the selected history entries in the format that
+ would be written to the history file, including any time
+ stamp information as described below, without prefixing
+ the entry with any line number or "*".
--aa Append the "new" history lines to the history file.
These are history lines entered since the beginning of
the current bbaasshh session, but not already appended to the
@@ -7577,4 +7590,4 @@ BBUUGGSS
Array variables may not (yet) be exported.
-GNU Bash 5.3 2025 December 18 _B_A_S_H(1)
+GNU Bash 5.3 2025 December 26 _B_A_S_H(1)
diff --git a/doc/bash.1 b/doc/bash.1
index 145717cc..c605d04c 100644
--- a/doc/bash.1
+++ b/doc/bash.1
@@ -5,7 +5,7 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
-.\" Last Change: Thu Dec 18 17:18:21 EST 2025
+.\" Last Change: Fri Dec 26 18:21:22 EST 2025
.\"
.\" For bash_builtins, strip all but "SHELL BUILTIN COMMANDS" section
.\" For rbash, strip all but "RESTRICTED SHELL" section
@@ -22,7 +22,7 @@
.ds zX \" empty
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
-.TH BASH 1 "2025 December 18" "GNU Bash 5.3"
+.TH BASH 1 "2025 December 26" "GNU Bash 5.3"
.\"
.ie \n(.g \{\
.ds ' \(aq
@@ -10413,7 +10413,7 @@ option, if supplied,
causes \fBfc\fP to remove the selected commands from the history
list before executing the file of edited commands.
.B \-D
-is only active when \fBfc\fP is invoked in this way.
+is only effective when \fBfc\fP is invoked in this way.
.IP
In the second form, \fBfc\fP re-executes \fIcommand\fP
after replacing each instance of \fIpat\fP with \fIrep\fP.
@@ -10660,14 +10660,12 @@ prints the descriptions of all matching help topics.
The return status is 0 unless no command matches
.IR pattern .
.TP
-\fBhistory [\fIn\fP]
+\fBhistory [\fB\-H\fP] [\fIrange\fP]
.PD 0
.TP
\fBhistory\fP \fB\-c\fP
.TP
-\fBhistory \-d\fP \fIoffset\fP
-.TP
-\fBhistory \-d\fP \fIstart\fP-\fIend\fP
+\fBhistory \-d\fP \fIrange\fP
.TP
\fBhistory\fP \fB\-anrw\fP [\fIfilename\fP]
.TP
@@ -10675,15 +10673,33 @@ The return status is 0 unless no command matches
.TP
\fBhistory\fP \fB\-s\fP \fIarg\fP [\fIarg\fP .\|.\|.]
.PD
-With no options, display the command history list with numbers.
-Entries prefixed with a
-.B *
-have been modified.
-An argument of
-.I n
-lists only the last
-.I n
-entries.
+With no options,
+or with the \fB\-H\fP option,
+display the portion of the command history list
+specified by \fIrange\fP, as described below.
+If \fIrange\fP is not specified, display the entire history list.
+Without \fB\-H\fP, display the list with command numbers, prefixing
+entries that have been modified with a
+.Q "*" .
+.IP
+A
+.I range
+argument is specified in the form of a number \fIoffset\fP or
+a range \fIstart\fP\-\fIend\fP.
+If \fIoffset\fP is supplied, it references the history entry at
+position \fIoffset\fP in the history list;
+when listing this displays the last \fIoffset\fP entries.
+A negative \fIoffset\fP counts back from the end of the history list,
+relative to one greater than the last history position.
+When listing, negative and positive \fIoffsets\fP have identical results.
+\fIstart\fP and \fIend\fP, if supplied, reference the portion of
+the history list beginning at position \fIstart\fP through position
+\fIend\fP.
+If \fIstart\fP or \fIend\fP are negative, they count back from the
+end of the history list.
+When listing, if \fIstart\fP is greater than \fIend\fP, the history
+entries are displayed in reverse order from \fIend\fP to \fIstart\fP.
+.IP
If the shell variable
.SM
.B HISTTIMEFORMAT
@@ -10717,18 +10733,16 @@ Options, if supplied, have the following meanings:
Clear the history list by deleting all the entries.
This can be used with the other options to replace the history list.
.TP
-\fB\-d\fP \fIoffset\fP
-Delete the history entry at position \fIoffset\fP.
-If \fIoffset\fP is negative, it is interpreted as relative to one greater
-than the last history position, so negative indices count back from the
-end of the history, and an index of \-1 refers to the current
-\fBhistory \-d\fP command.
+\fB\-d\fP \fIrange\fP
+Delete the history entries specified by \fIrange\fP, as described above.
+An index of \-1 refers to the current \fBhistory \-d\fP command.
.TP
-\fB\-d\fP \fIstart\fP\-\fIend\fP
-Delete the range of history entries between positions \fIstart\fP and
-\fIend\fP, inclusive.
-Positive and negative values for \fIstart\fP and \fIend\fP
-are interpreted as described above.
+\fB\-H\fP
+Display the selected history entries in the format that would be written
+to the history file,
+including any time stamp information as described below,
+without prefixing the entry with any line number or
+.Q "*" .
.TP
.B \-a
Append the
diff --git a/doc/bash.html b/doc/bash.html
index 14e4e194..2f8fc02a 100644
--- a/doc/bash.html
+++ b/doc/bash.html
@@ -1,5 +1,5 @@
-
+
@@ -12232,8 +12232,8 @@ with a name that is not a function.
fc [−e
-ename] [−lnr] [first]
-[last]
+ename] [−D] [−lnr]
+[first] [last]
fc −s [pat=rep] [cmd]
The first form selects a range
@@ -12271,7 +12271,11 @@ variable, and the value of EDITOR if
FCEDIT is not set. If neither variable
is set, fc uses vi. When editing is complete,
fc reads the file containing the edited commands and
-echoes and executes them.
+echoes and executes them. The −D option, if
+supplied, causes fc to remove the selected commands
+from the history list before executing the file of edited
+commands. −D is only effective when fc
+is invoked in this way.
In the second
form, fc re-executes command after replacing
@@ -12486,23 +12490,44 @@ prints the descriptions of all matching help topics.
The return
status is 0 unless no command matches pattern.
-history [n]
-
+
history [−H]
+[range]
history −c
-history −d offset
-history −d start-end
+history −d range
history −anrw [filename]
history −p arg [arg ...]
history −s arg [arg ...]
-With no options, display the
-command history list with numbers. Entries prefixed with a
-* have been modified. An argument of n lists
-only the last n entries. If the shell variable
-HISTTIMEFORMAT is set and not null, it
-is used as a format string for strftime(3) to display
-the time stamp associated with each displayed history entry.
-If history uses
+
With no options, or with the
+−H option, display the portion of the command
+history list specified by range, as described below.
+If range is not specified, display the entire history
+list. Without −H, display the list with command
+numbers, prefixing entries that have been modified with a
+“*”.
+
+A range
+argument is specified in the form of a number offset
+or a range start−end. If offset
+is supplied, it references the history entry at position
+offset in the history list; when listing this
+displays the last offset entries. A negative
+offset counts back from the end of the history list,
+relative to one greater than the last history position. When
+listing, negative and positive offsets have identical
+results. start and end, if supplied, reference
+the portion of the history list beginning at position
+start through position end. If start or
+end are negative, they count back from the end of the
+history list. When listing, if start is greater than
+end, the history entries are displayed in reverse
+order from end to start.
+
+If the shell
+variable HISTTIMEFORMAT is set and not
+null, it is used as a format string for strftime(3)
+to display the time stamp associated with each displayed
+history entry. If history uses
HISTTIMEFORMAT, it does
not print an intervening space between the formatted time
stamp and the history entry.
@@ -12537,22 +12562,12 @@ list.
−d
-offset
+range
-Delete the history entry at
-position offset. If offset is negative, it is
-interpreted as relative to one greater than the last history
-position, so negative indices count back from the end of the
-history, and an index of −1 refers to the current
-history −d command.
-
-−d
-start−end
-
-Delete the range of history
-entries between positions start and end,
-inclusive. Positive and negative values for start and
-end are interpreted as described above.
+Delete the history entries
+specified by range, as described above. An index of
+−1 refers to the current history −d
+command.
@@ -12561,6 +12576,20 @@ inclusive. Positive and negative values for start and
|
+ −H |
+ |
+
+
+
+ Display the selected history entries in the format that
+would be written to the history file, including any time
+stamp information as described below, without prefixing the
+entry with any line number or “*”. |
+
+ |
+
+
+
−a |
|
diff --git a/doc/bash.info b/doc/bash.info
index b7665149..5ae297f2 100644
--- a/doc/bash.info
+++ b/doc/bash.info
@@ -1,9 +1,9 @@
This is bash.info, produced by makeinfo version 7.2 from bashref.texi.
This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 18 December 2025).
+Bash shell (version 5.3, 26 December 2025).
- This is Edition 5.3, last updated 18 December 2025, of ‘The GNU Bash
+ This is Edition 5.3, last updated 26 December 2025, of ‘The GNU Bash
Reference Manual’, for ‘Bash’, Version 5.3.
Copyright © 1988-2025 Free Software Foundation, Inc.
@@ -26,10 +26,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 18 December 2025). The Bash home page is
+Bash shell (version 5.3, 26 December 2025). The Bash home page is
.
- This is Edition 5.3, last updated 18 December 2025, of ‘The GNU Bash
+ This is Edition 5.3, last updated 26 December 2025, of ‘The GNU Bash
Reference Manual’, for ‘Bash’, Version 5.3.
Bash contains features that appear in other popular shells, and some
@@ -10993,7 +10993,7 @@ history file.
‘fc’ reads the file of edited commands and echoes and executes
them. The ‘-D’ option, if supplied, causes ‘fc’ to remove the
selected commands from the history list before executing the file
- of edited commands. ‘-D’ is only active when ‘fc’ is invoked in
+ of edited commands. ‘-D’ is only effective when ‘fc’ is invoked in
this way. It could be used if you make a typo in a command and
want to fix it using an editor while removing the erroneous command
from the history to avoid clutter.
@@ -11016,21 +11016,36 @@ history file.
history entry, in which case ‘fc’ returns a non-zero status.
‘history’
- history [N]
+ history [-H] [RANGE]
history -c
- history -d OFFSET
- history -d START-END
+ history -d RANGE
history [-anrw] [FILENAME]
- history -ps ARG
+ history -ps ARG [ARG...]
- With no options, display the history list with numbers. Entries
- prefixed with a ‘*’ have been modified. An argument of N lists
- only the last N entries. If the shell variable ‘HISTTIMEFORMAT’ is
- set and not null, it is used as a format string for ‘strftime’(3)
- to display the time stamp associated with each displayed history
- entry. If ‘history’ uses ‘HISTTIMEFORMAT’, it does not print an
- intervening space between the formatted time stamp and the history
- entry.
+ With no options, or with the ‘-H’ option, display the portion of
+ the command history list specified by RANGE, as described below.
+ If RANGE is not specified, display the entire history list.
+ Without ‘-H’, display the list with command numbers, prefixing
+ entries that have been modified with a ‘*’.
+
+ A RANGE argument is specified in the form of a number OFFSET or a
+ range START-END. If OFFSET is supplied, it references the history
+ entry at position OFFSET in the history list; when listing this
+ displays the last OFFSET entries. A negative OFFSET counts back
+ from the end of the history list, relative to one greater than the
+ last history position. When listing, negative and positive OFFSETs
+ have identical results. START and END, if supplied, reference the
+ portion of the history list beginning at position START through
+ position END. If START or END are negative, they count back from
+ the end of the history list. When listing, if START is greater
+ than END, the history entries are displayed in reverse order from
+ END to START.
+
+ If the shell variable ‘HISTTIMEFORMAT’ is set and not null, it is
+ used as a format string for ‘strftime’(3) to display the time stamp
+ associated with each displayed history entry. If ‘history’ uses
+ ‘HISTTIMEFORMAT’, it does not print an intervening space between
+ the formatted time stamp and the history entry.
Options, if supplied, have the following meanings:
@@ -11038,19 +11053,16 @@ history file.
Clear the history list. This may be combined with the other
options to replace the history list.
- ‘-d OFFSET’
- Delete the history entry at position OFFSET. If OFFSET is
- positive, it should be specified as it appears when the
- history is displayed. If OFFSET is negative, it is
- interpreted as relative to one greater than the last history
- position, so negative indices count back from the end of the
- history, and an index of ‘-1’ refers to the current ‘history
- -d’ command.
+ ‘-d RANGE’
+ Delete the history entries specified by RANGE, as described
+ above. An offset of ‘-1’ refers to the current ‘history -d’
+ command.
- ‘-d START-END’
- Delete the range of history entries between positions START
- and END, inclusive. Positive and negative values for START
- and END are interpreted as described above.
+ ‘-H’
+ Display the selected history entries in the format that would
+ be written to the history file, including any time stamp
+ information as described below, without prefixing the entry
+ with any line number or ‘*’.
‘-a’
Append the "new" history lines to the history file. These are
@@ -13791,28 +13803,28 @@ Node: A Programmable Completion Example485732
Node: Using History Interactively491077
Node: Bash History Facilities491758
Node: Bash History Builtins495493
-Node: History Interaction502365
-Node: Event Designators507315
-Node: Word Designators508893
-Node: Modifiers511285
-Node: Installing Bash513222
-Node: Basic Installation514338
-Node: Compilers and Options518214
-Node: Compiling For Multiple Architectures518964
-Node: Installation Names520717
-Node: Specifying the System Type522951
-Node: Sharing Defaults523697
-Node: Operation Controls524411
-Node: Optional Features525430
-Node: Reporting Bugs538153
-Node: Major Differences From The Bourne Shell539510
-Node: GNU Free Documentation License560937
-Node: Indexes586114
-Node: Builtin Index586565
-Node: Reserved Word Index593663
-Node: Variable Index596108
-Node: Function Index613521
-Node: Concept Index627516
+Node: History Interaction503088
+Node: Event Designators508038
+Node: Word Designators509616
+Node: Modifiers512008
+Node: Installing Bash513945
+Node: Basic Installation515061
+Node: Compilers and Options518937
+Node: Compiling For Multiple Architectures519687
+Node: Installation Names521440
+Node: Specifying the System Type523674
+Node: Sharing Defaults524420
+Node: Operation Controls525134
+Node: Optional Features526153
+Node: Reporting Bugs538876
+Node: Major Differences From The Bourne Shell540233
+Node: GNU Free Documentation License561660
+Node: Indexes586837
+Node: Builtin Index587288
+Node: Reserved Word Index594386
+Node: Variable Index596831
+Node: Function Index614244
+Node: Concept Index628239
End Tag Table
diff --git a/doc/bash.pdf b/doc/bash.pdf
index eb9f142ad0a23b2d1197c98ebd1469d205ae1be2..c861b55f4810ace55b2f2309219924d61b41a941 100644
GIT binary patch
delta 177673
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 | |