shell 命令 cd !$

shell 命令 cd !$

我在看这个问题并用谷歌搜索,但找不到明确的答案。!$当输入终端时会发生什么?

我输入了

mkdir /path/to/dir
cd !$

这让我想到了/path/to/dir,但我仍然想确切地知道!$操作员通常做什么。

答案1

从 Bash 手册 > 历史扩展:

  • 事件指示符

    !      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.
    
  • 词指示符

    $      The  last word.  This is usually the last argument, but will 
           expand to the zeroth word if there is only one word in the line.
    

因此,!$只需重复上一个命令中的最后一个单词

例子:

$ echo Unix and Linux
Unix and Linux
$ echo !$
echo Linux
Linux

$ cat dir1
cat: dir1: Is a directory
$ cd !$
cd dir1

执行命令后!$,按即可得到结果!$

相关内容