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

Linuxで文字列をテストするためにbashif-zおよびif-nを使用する方法

文字列のテストに使用できるbashスクリプト言語で使用できるさまざまな文字列演算子があります。 -zおよび-n演算子は、文字列がNullであるかどうかを確認するために使用されます。このガイドでは、Centos8のifステートメントを使用してこれらの文字列演算子をテストします。

このガイドでは、次のテスト文字列について学習します。

  • 文字列がNullの場合は-n。
  • 文字列がNullでない場合のIf-n
  • StingがNullの場合のIf-z
  • 文字列がNullでない場合のif-z
  • 文字列ユーザー入力の取得中のIf-z
文字列がNullの場合のif-n演算子の使用

ここでif-n演算子を使用する主な目的は、特定の文字列がNullであることを示すことです。引用された手順に従って、このタスクを実行します。

CheckString.shという名前の新しいファイルを作成します。ホームディレクトリに直接作成するか、ターミナルで次のコマンドを使用して作成できます。

$ touch CheckString.sh

画像に示すように、CheckString.shファイルがホームディレクトリに作成されていることがわかります。

CheckString.shファイルを開き、次の図に示すようにbashスクリプトを記述します。ここでは、StdNameという名前の後に値Nullが続く文字列を初期化したことがわかります。 ifステートメントでは、-n文字列テスト演算子の後に文字列StdNameを使用しました。文字列StdNameはnullであるため、-n演算子はスクリプトのelseセクションを実行します。

次に、以下のコマンドを実行して、文字列がNullかどうかを確認します。

$ bash CheckStrings.sh

文字列StdNameがNullであるため、-n文字列演算子がelse部分を実行しました。したがって、出力は申し訳ありません!下の画像に示されているように、ターミナルには名前がありません。

文字列がNullでない場合のif-nの使用

ここでif-n演算子を使用しているのは、ファイル内の指定された文字列がNullではないことを示すためです。このアクティビティを実行するには、以下の手順を実行する必要があります。

新しいファイルや文字列を作成する必要はありません。このタスクには、わずかな変更を加えて同じファイルCheckString.shを使用します。今回は、ファイル内の文字列StdNameにnull以外の値が必要です。したがって、他のすべてのスクリプトは同じままで、文字列に値(nullではない)を割り当てる必要があります。ご覧のとおり、文字列StdNameに値AqsaYasinを割り当てました。したがって、今回はスクリプトの一部が-n演算子によって実行される場合。

次に、以下のコマンドを実行して、文字列に値があるかどうかを確認します。

$ bash CheckStrings.sh

文字列StdNameの値がAqsaYasinになっているため、-n文字列演算子がif部分を実行しました。したがって、出力はHy!になります。添付の画像に表示されているターミナルのAqsaYasin。

文字列がNullの場合のif-zの使用

ここではif-z演算子を使用して、ファイル内の指定された文字列がNullであることを示しています。このアクティビティを実行するには、以下の手順を実行する必要があります。

このタスクのために新しいことは何もありません。同じ古いファイルCheckString.shを-z文字列演算子とともに使用するだけです。ご存知のとおり、文字列がNullの場合、-z演算子はTrue部分を実行します。文字列StdNameにはnull値があるため、スクリプトのif部分は-z演算子によって実行されます。

次に、以下のコマンドを実行して、文字列がnullであることを確認します。

$ bash CheckStrings.sh

文字列StdNameには値がなく、-z文字列演算子は文字列がnullであることを認識しているため、if部分を実行します。そのため、出力は「申し訳ありません」になります。添付画像に示されているように、ターミナルに名前がありません。

文字列がNullでない場合のif-zの使用

ここでif-z演算子を使用しているのは、ファイル内の指定された文字列がNullではないことを示すためです。これらの手順を実行すると、次のアクティビティを実行できるようになります。

新しいことをする必要はありません。このタスクには、マイナーな変更を加えて、同じ古いファイルCheckString.shを使用します。今回は、-n文字列演算子を-z文字列演算子に置き換えます。また、スクリプトの一部を相互に交換する必要があります。ご存知のとおり、文字列がNullの場合、-z演算子はTrue部分を実行します。文字列StdNameの値はnullではないAqsaYasinであるため、elseステートメントは-z演算子によって実行されます。

次に、以下のコマンドを実行して、文字列がnullかどうかを確認します。

$ bash CheckStrings.sh

文字列StdNameの値がAqsaYasinになり、-z文字列演算子は文字列がnullでないことを認識しているため、else部分を実行します。したがって、次の画像に示すように、出力はターミナルのHyAqsaYasinになります。

文字列ユーザー入力を取得する際のif-zの使用

最後に、if-z演算子を使用して、実行時に使用によって追加された文字列入力をテストしています。ユーザー文字列入力をテストするには、次の手順を実行する必要があります。

今回は、ファイル内のスクリプトをある程度変更する必要があります。まず、ifステートメントで-z演算子を使用し、その後に変数文字列を使用します。システムは、いくつかの文字列値を追加するようにユーザーに求めます。ユーザーは文字列を追加します。 readステートメントシステムを使用している間、ユーザーが書いた文字列を変数文字列に保存します。ご存知のとおり、文字列が有効な場合、-z演算子はステートメントのif部分を実行します。ユーザーが入力した文字列がnullの場合、システムは文字列を再度入力するように要求します。ユーザーが入力した文字列がnullでない場合、システムはその文字列を表示します。

次に、以下のコマンドを実行して、ユーザーが入力した文字列を確認します。

$ bash CheckStrings.sh

システムがユーザーに文字列を追加するように要求したとき、ユーザーは値を追加しません。したがって、-z演算子は文字列をnullとして認識するため、ifステートメントを実行します。システムは、ユーザーに文字列値を追加するように再度要求しました。今回、ユーザーは有効な文字列値NewWorldOrderを追加しました。したがって、システムは次のメッセージを表示しました。入力した文字列は次のとおりです。NewWorld

結論

このガイドでは、文字列演算子を使用して、nullまたはnull以外の文字列値をテストする方法を説明しました。この記事が、文字列演算子-zおよび-nで十分なコマンドを取得し、ステートメントを操作するのに大いに役立つことを願っています。


Linux
  1. 自動化のためにAnsibleとanacronを使用する方法

  2. LinuxにEtcherをインストールして使用してLiveLinuxUSBを作成する方法

  3. LinuxでFlatpakをインストールして使用する方法

  1. LinuxでのChownコマンドとは何ですか?その使用方法

  2. LinuxでTracerouteをインストールして使用する方法

  3. Linuxシャットダウンコマンドの使用方法、計画された即時の再起動

  1. KaliLinuxにtelnetをインストールして使用する方法

  2. Linux Screenをインストールして使用する方法は?

  3. Linuxテールコマンド:それは何であり、それを使用する方法