Re: Bye, bye, bash
- In reply to: Sysadmin Lists : "Re: Bye, bye, bash"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 26 Mar 2023 01:02:16 UTC
> ---------------------------------------- > From: Sysadmin Lists <sysadmin.lists@mailfence.com> > Date: Mar 25, 2023, 5:55:15 PM > To: <freebsd-questions@freebsd.org> > Cc: Christian Weisgerber <naddy@mips.inka.de> > Subject: Re: Bye, bye, bash > > > > ---------------------------------------- > > From: Christian Weisgerber <naddy@mips.inka.de> > > Date: Mar 25, 2023, 3:18:34 PM > > To: <freebsd-questions@freebsd.org> > > Subject: Bye, bye, bash > > > > [...] although I use approximately 0% of bash's bloated > > feature set. > > > > Bash certainly has its problems, but sh's interactive feature set is primitive. > I find most people don't even know some of the features in bash exist. > > Just a few: > Commands for Manipulating the History > yank-nth-arg (M-C-y) > Insert the first argument to the previous command (usually the > second word on the previous line) at point. With an argument n, > insert the nth word from the previous command (the words in the > previous command begin with word 0). A negative argument > inserts the nth word from the end of the previous command. Once > the argument n is computed, the argument is extracted as if the > "!n" history expansion had been specified. > yank-last-arg (M-., M-_) > Insert the last argument to the previous command (the last word > of the previous history entry). With a numeric argument, behave > exactly like yank-nth-arg. Successive calls to yank-last-arg > move back through the history list, inserting the last word (or > the word specified by the argument to the first call) of each > line in turn. Any numeric argument supplied to these successive > calls determines the direction to move through the history. A > negative argument switches the direction through the history > (back or forward). The history expansion facilities are used to > extract the last word, as if the "!$" history expansion had been > specified. > shell-expand-line (M-C-e) > Expand the line as the shell does. This performs alias and > history expansion as well as all of the shell word expansions. > See HISTORY EXPANSION below for a description of history > expansion. > history-expand-line (M-^) > Perform history expansion on the current line. See HISTORY > EXPANSION below for a description of history expansion. > > Killing and Yanking > yank (C-y) > Yank the top of the kill ring into the buffer at point. > yank-pop (M-y) > Rotate the kill ring, and yank the new top. Only works > following yank or yank-pop. > > Completing > possible-completions (M-?) > List the possible completions of the text before point. > insert-completions (M-*) > Insert all completions of the text before point that would have > been generated by possible-completions. > complete-into-braces (M-{) > Perform filename completion and insert the list of possible > completions enclosed within braces so the list is available to > the shell (see Brace Expansion above). > > Miscellaneous > insert-comment (M-#) > Without a numeric argument, the value of the readline > comment-begin variable is inserted at the beginning of the > current line. If a numeric argument is supplied, this command > acts as a toggle: if the characters at the beginning of the line > do not match the value of comment-begin, the value is inserted, > otherwise the characters in comment-begin are deleted from the > beginning of the line. In either case, the line is accepted as > if a newline had been typed. The default value of comment-begin > causes this command to make the current line a shell comment. > If a numeric argument causes the comment character to be > removed, the line will be executed by the shell. > glob-expand-word (C-x *) > The word before point is treated as a pattern for pathname > expansion, and the list of matching filenames is inserted, > replacing the word. If a numeric argument is supplied, an > asterisk is appended before pathname expansion. > glob-list-expansions (C-x g) > The list of expansions that would have been generated by > glob-expand-word is displayed, and the line is redrawn. If a > numeric argument is supplied, an asterisk is appended before > pathname expansion. > > > And pretty much all of the 'HISTORY EXPANSION' section. > > I use those features daily, but have watched career-long sysadmins wear out > their arrow keys as they navigate the command line. If efficiency is key, those > features make working on the command line a breeze. > > > -- > Sent with https://mailfence.com > Secure and private email > Forgot a couple other essentials: Miscellaneous undo (C-_, C-x C-u) Incremental undo, separately remembered for each line. revert-line (M-r) Undo all changes made to this line. This is like executing the undo command enough times to return the line to its initial state. -- Sent with https://mailfence.com Secure and private email