I nie zapomnij o fantastycznych skrótach do rozszerzania historii w bash. 1
Zamieszczam kilka fragmentów strony, na wypadek, gdyby nie wytatuowałeś ich na ramieniu (lub nie zapamiętałeś ich).
Event Designators
An event designator is a reference to a command line entry in the his‐
tory list.
! Start a history substitution, except when followed by a blank,
newline, carriage return, = or ( (when the extglob shell option
is enabled using the shopt builtin).
!n Refer to command line n.
!-n Refer to the current command line minus n.
!! Refer to the previous command. This is a synonym for `!-1'.
!string
Refer to the most recent command starting with string.
!?string[?]
Refer to the most recent command containing string. The trail‐
ing ? may be omitted if string is followed immediately by a new‐
line.
^string1^string2^
Quick substitution. Repeat the last command, replacing string1
with string2. Equivalent to ``!!:s/string1/string2/'' (see Mod‐
ifiers below).
!# The entire command line typed so far.
Często korzystam z możliwości odwołania się do ostatniego „słowa” poprzedniego polecenia. Na przykład,
mkdir /foo/shmoo/adir.horribilus.foo
cp file1 file2 file3 file4 !$
ls -l !$
W obu przypadkach tutaj !$mecze /foo/shmoo/adir.horribilus.foo.
1 ... które zostały pobrane z csh. Aby ograniczyć zakres kradzieży funkcji bash, strona podręcznika bash mówi
The shell supports a history expansion feature that is similar to the
history expansion in csh.
Jest więc „podobny”. Wszystko to może się włamać cshlub tcsh. Lub cokolwiek potomka csh nie używasz ze względu na fakt, że nie jest tak wspaniały jak bash.