シェルスクリプトは、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」に渡すことができます。 ‘。
ご質問やご意見がございましたら、下のコメント欄でお知らせください!