Bash出力を変数に割り当てる方法は?

Bash How Assign Output Variable



Bashは、Ubuntu20.04を含むほとんどのLinuxディストリビューションでデフォルトのコマンドラインインタープリターとして機能します。 Bashコマンドは、処理の点で非常に強力で効率的であると見なされています。 Bashでさまざまなコマンドを実行しているときに、後で他の目的で使用するために、コマンドの出力を変数に保存する必要がある場合があります。したがって、この記事では、Bashの変数に出力を割り当てる方法について説明します。

Bashの変数に出力を割り当てる方法:

注:Ubuntu20.04でこの方法をデモンストレーションします。必要に応じて、他のLinuxディストリビューションを使用することもできます。







この方法では、コマンドの出力をターミナルを介してBashの変数に直接割り当てる方法を説明します。この方法でこの作業を行うには、次の手順を実行する必要があります。



このメソッドのBashスクリプトを作成していないため、Ubuntu20.04でターミナルを直接起動する必要があります。以下の画像からターミナルウィンドウを確認することもできます。







dateコマンドの値を変数に格納する方法:

ターミナルを起動したら、コマンドの出力を変数に保存する必要があります。この特定の例では、Linuxのdateコマンドを使用し、その出力をdate変数に割り当てます。これは、ターミナルで次のコマンドを入力してからEnterキーを押すことで実行できます。

日にち= $((日にち)。

ここで、最初の日付は、作成した変数を指します。この変数には任意の名前を付けることができます。一方、2番目の日付の後に$が続き、丸括弧で囲まれているのは、Linuxオペレーティングシステムのdateコマンドを示しています。このコマンドを実行すると、現在のシステム日付が取得され、日付変数に保存されます。このコマンドは、次の画像でも確認できます。



次に、ターミナルで次のコマンドを入力して、Enterキーを押します。

捨てたです$ date

ここで、echoコマンドは、date変数の値を出力することにより、端末に現在の日付を表示する役割を果たします。 printfコマンドを使用して同じ目的を達成することもできます。このコマンドは、以下に示す画像からも確認できます。

echoコマンドの実行が完了するとすぐに、次の図に示すように、端末のdate変数に保存されている現在の日付を確認できます。ただし、このメソッドで使用されるechoコマンドは必須ではありません。これは、dateコマンドの出力がdate変数に正常に保存されたことを示すためにのみ使用され、簡単に確認できます。それ以外の場合は、この手順をスキップすることもできます。

whoコマンドの値を変数に割り当てる方法:

whoコマンドの出力を変数に割り当てることもできます。 whoコマンドは、システムの現在ログインしているユーザーを見つけるために使用されます。ターミナルで次のコマンドを入力するだけです。

ユーザー= $((/usr/午前/)。

現在のユーザーの詳細は/ usr / binディレクトリーにあるため、このパスはwhoコマンドの前に記載されています。上記のコマンドを実行すると、whoコマンドの出力がuserという名前の変数に割り当てられます。

この割り当てを行った後、次の画像に示すように、echoコマンドを実行してこの値を出力する必要があります。

echoコマンドを実行すると、次の図に示すように、現在ログインしているユーザーに関するすべての情報が、端末の現在のシステム日付と時刻とともに表示されます。

pwdコマンドの値を変数に保存する方法:

Ubuntu 20.04システムの現在の作業ディレクトリを見つけて、変数に保存することもできます。以下に示すコマンドを実行するだけです。

作業ディレクトリ= $((pwd)。

このコマンドを実行すると、現在の作業ディレクトリがworking_directory変数に保存されます。

現在の作業ディレクトリを目的の変数に割り当てた後、echoコマンドを使用して、この変数の値を端末に表示できます。

echoコマンドを実行すると、次の図に示すように、端末の現在の作業ディレクトリが表示されます。

まったく同じ方法で、複雑なコマンドの出力も任意の変数に割り当てることができます。

結論:

この記事で説明されている簡単で単純な手順に従うことで、Bashの任意のコマンドの出力を目的の変数に簡単に保存できます。この変数は、そのコマンドの出力を出力したり、さらに処理するために使用したりするために使用できます。