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