Linuxコマンドの出力を変数に割り当てる方法 - bash
Bashでは、Linuxコマンドを実行し、その出力をスクリプトで後で使用するためにキャプチャすることが一般的です。コマンド置換を使用することで、コマンドの出力を変数に割り当てることができます。コマンド置換は、コマンドを実行し、その出力で置き換えることを可能にするBashの機能です。出力を変数に割り当てる方法は2つあり、これらは次の通りです:
- コマンド置換を通して
- バックティックを通して
1: Linuxコマンドの出力を変数に割り当てるためのコマンド置換の使用方法
BashでLinuxコマンドの出力を変数に割り当てる方法の一つは、$() 構文を使ったコマンド置換を利用することで、こちらがその完全な構文です。
<variable-name>=$(command)こちらは、上記の構文を使用してホスト名コマンドの出力を変数に保存する実例です。
#!/bin/bash
Assign the output of the 'hostname' command to the 'find_hostname' variable
find_hostname=$(hostname)
Print the value of the 'hostname' variable
echo "Your hostname is:” $find_hostnameこの例では、hostnameコマンドを使用して現在のホストの名前を取得し、出力をコマンド置換を使ってfind_hostname変数に割り当てました。最後に、echoコマンドを使用してfind_hostname変数の値を表示しました。
2: バックティックを使用してLinuxコマンドの出力を変数に割り当てる方法
Linux コマンドの出力を変数に割り当てる別の方法は、括弧の代わりにバッククオート(`)を使用することです。以下はその構文です:
<variable-name>=<`command`>このメソッドの使い方をさらに説明するために、現在のディレクトリのパスを読み取るだけの例としてBashコードを示しました。
#!/bin/bash
Assign the output of the 'hostname' command to the 'find_hostname' variable
find_hostname=`hostname`
Print the value of the 'hostname' variable
echo "Your hostname is:" $find_hostnameこの例では、pwdコマンドを使用して現在の作業ディレクトリを取得し、その出力をバックティックを使用してcurrent_dir変数に割り当てました。最後に、echoコマンドを使用してcurrent_dir変数の値を出力しました。
結論
Linuxコマンドの出力を変数に割り当てることは、Bashスクリプトにおいて一般的なタスクであり、括弧またはバッククォートを使用したコマンド置換を用いて実現できます。これらの技術を使用することで、コマンドの出力を取得し、スクリプト内でさまざまなタスクを実行するために使用できます。特定のニーズや好みに応じて、これらの三つの方法のいずれかを使用して、BashでLinuxコマンドの出力を変数に割り当てることができます。

