覚えておくと便利なBash Tips
->
Bashによる引数の展開
以下のように記述すると、bashによって自然に展開される。
$ cp some/deep/path/{foo,bar}.xml ↓ $ cp some/deep/path/foo.xml some/deep/path/bar.xml
深い階層のファイルをバックアップする場合
普通にコマンドを書くと次のように結構記述が長くなるが、以下のように書くこともできる。
$ cp some/deep/path/hoge.txt some/deep/path/hoge.txt.bak ↓ $ cp some/deep/path/hoge.txt{,.bak}
Bashによる引数の再利用
次のようにファイルをコピーしたうえで、そのファイルをエディタを使って編集などの作業をよく行うことがある。
$ cp some/path/hoge.txt some/path/fuga.txt $ vi some/path/fuga.txt
このような場合は、特殊変数を使うことで、過去に実施したコマンドの引数を再利用することができる。前述の例では、前述のコピー&編集の流れを次のように記述できる。
$ cp some/path/hoge.txt some/path/fuga.txt $ vi !:2
基本的に「ビックリマーク+コロン+引数の位置」の組み合わせなので覚えやすい。
