web-dev-qa-db-ja.com

Bashのバングドル(!$)とは何ですか?

バングドルは、最後のコマンドラインの最後の部分を指しているようです。

例えば。

$ ls -l
 .... something
$ !$
-l
bash: -l command not found

私はドル変数でたくさん見つけることができます(例えば$!)しかしこれではありません。説明はありますか?

25
Snowcrash

!$できること$_は、$_は、(置換として)返す値をhistoryに保存しません。

以下に例を示します。

!$

za:tmep za$ ls -lad 
drwxr-xr-x  4 za  staff  136 Apr  6  2016 .
za:tmep za$ !$
-lad
-bash: -lad: command not found
za:tmep za$ history | tail -n 3
  660  ls -lad 
  661  -lad                     <<== history shows !$ substitution.  
  662  history | tail -n 3

$_

za:tmep za$ ls -lad
drwxr-xr-x  4 za  staff  136 Apr  6  2016 .
za:tmep za$ $_
-bash: -lad: command not found
za:tmep za$ history | tail -n 3
  663  ls -lad
  664  $_         <<== history shows $_ and not its substitution. 
  665  history | tail -n 3
za:tmep za$ 

より多くのオプション:

!^      first argument
!:2     second argument
!:2-$   second to last arguments
!:2*    second to last arguments
!:2-    second to next to last arguments
!:2-3   second to third arguments
!$      last argument
!*      all arguments
6
zee

猿の答え:

聖霊降臨祭!$ 前のコマンドlast Wordを簡単に印刷できます

#Create new file
touch newfile.txt
#Edit new file using !$ instead newfile.txt again
nano !$
0