history
のマニュアルページから:
イベント指定子イベント指定子は、履歴リストのコマンドラインエントリへの参照です。参照が絶対的でない限り、イベントは履歴リストの現在の位置に関連しています。
! Start a history substitution, except when followed by a blank,
newline, = or (.
!n Refer to command line n.
!-n Refer to the current command minus n.
!! Refer to the previous command. This is a synonym for `!-1'.
!string
Refer to the most recent command preceding the current position
in the history list starting with string.
!?string[?]
Refer to the most recent command preceding the current position
in the history list containing string. The trailing ? may be
omitted if string is followed immediately by a newline.
^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.
他のすべては理にかなっていますが、コンテキストから!#
の使用法を理解することはできません。それは何をし、通常どのように使用されますか?
ここで答えてください: シェルコマンドで!#:3はどういう意味ですか
基本的に、これを使用してコマンドを「:n」と組み合わせて短縮できます。
$ cd /home/me/some/super/deep/dir/that/i/do/not/want/to/type/again ; ll !#:2
もちろん、これは少しばかげた例です。ll
を実行するだけでよいのですが、アイデアが浮かんだら、shスクリプトで使用できます。