シェルで前回実行したコマンド引数の再活用 !$, !* †
端末上で引数を指定しコマンドを実行したとき、コマンドの入力ミスなどで再度入力しないと行けない時など、
前回入力した引数を再活用し入力ミスしたコマンドのみ入力し実行することができます。
以下に引数の再活用を記します。
前回のコマンドで使用した引数の最後の引数を再活用する †
!$を使用するとことにより、前回実行したコマンドの最後の引数を入力したのと同じ状態になります。
実際には、引数がひとつでコマンド入力ミスした時に使用することが多いと思います。
実際の例を記します。
- catコマンドをtypeと入力してしまった。
- catコマンドのつもりがtypeと入力してエラーとなる。
sakura@ubuntu:~$ type flower.txt
-bash: type: flower.txt: 見つかりません
- flower.txt引数を!$で再活用する。
sakura@ubuntu:~$ cat !$
cat flower.txt
sakura 10 100
<snip>
前回のコマンドで使用した全部の引数を再活用する †
!*を使用することにより、前回実行したコマンドの全ての引数を再活用することができます。
実際の例を記します。
- lsコマンドのつもりがslと入力してしまった。
- slコマンドはないのでエラーとなる。
sakura@ubuntu:~$ sl *.csv *.txt
プログラム 'sl' はまだインストールされていません。 次のように入力することでインストールできます:
sudo apt-get install sl
- *.csv, *txt 引数を再活用する。
sakura@ubuntu:~$ ls !*
ls *.csv *.txt
flower.csv flower.txt
以上、シェル上で引数を再活用する方法でした。