GNU/Linux >> Linux の 問題 >  >> Linux

Linuxコマンドを変数としてシェルスクリプトに保存する方法

シェルスクリプトは、Linuxでの自動化に非常によく使用されています。これは、システムとサーバーの管理目的だけでなく、通常のLinuxユーザーがシステムの日常業務を自動化するためにも使用されます。

シェルスクリプトは、一連のコマンドに他なりません。これはコマンドラインインタプリタです(例: Bash Zsh )が実行されます。コマンドのシーケンスに加えて、ループのような機能があります 、条件付きステートメント変数 シェルスクリプトで使用できます。

そのような機能の1つは、コマンド全体を変数に格納することです。それが何を意味するのか、そしてそれがどのように行われるのかを見てみましょう。

基本的に、Linuxシェルでは、任意のコマンドを文字列として変数に格納できます。これは、複数のコマンドやリダイレクトなどを含むインラインの複雑なステートメントに役立ちます。この変数は、プログラム「 eval」に渡すことができます。 ‘変数の内容がコマンドとして実行されるようにします。

たとえば、コマンド‘ cattest.txt|の出力を保存するにはwc -l <​​/ strong> ‘ cnt という変数の‘ ‘、 test.shに次のステートメントを含めることができます スクリプトファイル:

#!/bin/bash

cnt="cat test.txt | wc -l"

ここで、このコマンドをいつでも実行するために、変数を引数として「 eval」に渡します。 ‘、以下に示すように:

#!/bin/bash

cnt="cat test.txt | wc -l"

eval $cnt

スクリプトを保存して終了します。

コマンドとスクリプト自体を実行して、これを確認しましょう。

$ cat test.txt | wc -l
$ chmod + test.sh
$ ./test.sh

<強い色:赤;">注 test.shを置き換えます スクリプト名を使用します。スクリプトファイルに実行権限があることを確認してください。

上のスクリーンショットに見られるように、両方の結果は同じです。

結論

この記事では、Linuxコマンドを変数としてシェルスクリプトに格納する方法を見てきました。これはシェルスクリプトに示されていますが、コマンドラインでも同じことを行ってから、変数を「 eval」に渡すことができます。 ‘。

ご質問やご意見がございましたら、下のコメント欄でお知らせください!


Linux
  1. Linuxコマンドの出力を変数に割り当てる方法

  2. Linuxシェルスクリプトで数値と文字列を比較する方法

  3. Linuxコマンドのスクリプトを作成する方法

  1. コマンドの出力をシェル変数に割り当てる方法は?

  2. Linux の「スクリプト」コマンドの出力をクリーンアップする方法

  3. Linuxでコマンド実行をシリアル化するには?

  1. Linuxで$PATH変数を設定する方法

  2. LinuxでSuコマンドを使用する方法

  3. コマンドライン引数をシェルスクリプトに渡す方法は?