Linuxでのドル記号「$(...)」の意味と使い方

Linuxのシェルスクリプトやコマンドで使われるドル記号「$(...)」の意味と使い方について説明します。

$(...)の使い方を知っていると、コマンドの応用がきき非常に便利です。

ドル記号「$(...)」の意味

Linuxでは、ドル記号と括弧で囲んだコマンドは実行結果を出力し展開されます。使い方としては、バッククォートとほぼ同じです。

$ echo "現在のディレクトリは、$(pwd)です"
現在のディレクトリは、/home/userです

ドル記号「$(...)」は、ネストする時に便利

基本的に、バッククォートと同じように使える$(...)ですが、コマンドをネストする時などは$(...)のほうが便利に扱うことができます。

例えば、現在のディレクトリのみ(親ディレクトリを省略した形)を表示したい場合、pwdコマンドとbasenameコマンドを使って以下のようになります。

$ cd /home/user
$ basename $(pwd)
user

この実行結果を文章内で展開したいという場合、$(...)だと以下のようにネストすることができます。

$ cd /home/user
$ echo "現在のディレクトリは、$(basename $(pwd))です"
現在のディレクトリは、userです

ただし、$(...)のほうが複雑なコマンドは扱いやすいのですが、一部の環境ではサポートされていないので注意してください。


イベント