ウェブサイト検索
論理演算子は、任意のプログラミング言語における論理式を定義するために使用されます。一般的に、Bashでは3種類の論理演算子が使用されます。それはAND、OR、NOTです。AND演算子とOR演算子は2つ以上の条件の間で使用されます。AND演算子は、すべての条件が真である場合に真を返します。それ以外の場合は偽を返します。"&&" 記号は、"if" 条件での論理AND式を定義するために使用されます。BashにおけるAND演算子の使用法は、このチュートリアルで示されています。
構文:
論理AND演算子は、2つ以上の条件をチェックするために使用できます。すべての条件が真を返す場合に真を返します。
このチュートリアルのこの部分では、Bashスクリプトで論理AND演算子を使用する方法が示されています。
Bashでは、文字列データを定義したりコマンドを実行するために、異なる種類の引用符が使用されます。これらは、シングルクオート、ダブルクオート、およびバックスラッシュ(バックスティック)です。「echo」コマンドがシングルクオートで使用されると、文字列の各文字は拡張されることなく解析されます。つまり、Bash変数がシングルクオートで囲まれている場合、変数名がその変数の値の代わりに印刷されます。Bashスクリプトにおけるシングルクオートの使用法は、このチュートリアルで示されています。
このチュートリアルのこの部分では、シングルクォートの異なる使い方が示されています。
ユーザーからの入力を取る以下のスクリプトを持つBashファイルを作成します。変数がシングルクォートで囲まれている場合は、その値の代わりに変数の名前が印刷されます。スクリプトでは、変数はシングルクォートで囲まれて印刷され、シングルクォートなしでも囲まれて印刷されます。
#!/bin/bash #T 続きを読む →
正規表現は、任意のコンテンツを一致させたり、ファイルや文字列内のコンテンツを検索および置換したりするための非常に便利なツールです。Bashスクリプトで様々な方法で使用できます。=~記号は、Bashの「if」文で任意の文字列を検索するために使用されます。マッチング正規表現パターンを定義するために、さまざまなタイプの式を使用できます。このチュートリアルでは、一般的に使用される正規表現と、=~演算子を使用したいくつかの式の使い方について説明します。
このチュートリアルで示されている手順を実行するには、次のコンポーネントが必要です。
Bashは、ほとんどの現代のLinuxシステムでデフォルトのシェルです。「sh」、オリジナルのUNIXシェルの後継として、ディレクトリ操作、ジョブ制御、エイリアス、コマンド履歴など、数多くの機能と改善が備わっています。
Bashは、ターミナルから以前に実行されたすべてのコマンドを記録します。これは、デバッグなどの多くの状況で非常に便利です。また、同じまたは似たようなコマンドを何度も入力する必要を減らすこともできます。
履歴管理のために、Bashには2つの組み込みコマンドがあります:
続きを読む →
readコマンドは、Bashスクリプト内でユーザーからの入力を受け取るために使用されます。このコマンドの後に変数が使用されない場合、$REPLY変数が入力値を読み取るために使用されます。「read」コマンドには、多くの入力を受け取るためのオプションがあり、別のチュートリアルで説明されています。プロンプトオプションの使用はその中の一つです。このオプションは、ユーザーが提供する必要があるデータの種類を理解するのに役立つプロンプトメッセージを使用してユーザーからの入力を受け取るために使用されます。Bashでユーザーからの入力を受け取るためにプロンプトオプションを使用する方法は、このチュートリアルで説明されています。
このチュートリアルのこの部分では、プロンプトメッセージと共に「read」コマンドのさまざまな使用法が示されています。
プロンプトメッセージなしで最初の入力をデフォルト変数である$REPLYに、2番目の入力を$lang変数に、3番目の入力をプロンプトメッセージ付きで$answer変数に取り込む以下のスクリプトを持つBashファイ
続きを読む →
ネットワーク管理者はデバッグの目的でネットワーク接続を確認する必要があります。Linuxにはネットワーク接続を確認するための多くのコマンドがあります。「ping」コマンドはその一つです。このコマンドは、デバイスが生きているかどうか、また二つのデバイス間の接続を確認するために非常に便利です。「ping」コマンドは、タスクのために「if」ステートメントの中で使用することができます。このチュートリアルでは、1つまたは複数のIPアドレスを確認するための「ping」コマンドの使用方法を示します。
構文:
「ping」コマンドは、以下に示す異なる目的のために3種類のオプションを使用できます。
>
Bashスクリプトを実行するとき、予期しないトークン「newline」エラーに遭遇することがあります。このエラーは、Bashがスクリプトや入力内で予期しない文字を検出したときに発生します。
このエラーに直面している場合、スクリプトに構文エラーがあることが原因です。エラーが発生する可能性のあるさまざまなケースを示し、エラーを修正する方法を見ていきます。次の例を見てみましょう。
Bashスクリプトを書くときにコード内で使用する角括弧は引用してください。そうしなければ、Bashはそれを角括弧として読み取らず、予期しないトークン「改行」エラーが発生します。
以下の画像では、ターミナルでBashスクリプトを実行しようとしたところ、以下の構文エラーが表示されました。
続きを読む →
Linuxには、複数のコマンドやBashスクリプトを並行して実行するための多くの方法があります。その方法の一つは、Bashスクリプト内で「for」ループを使用して並列ジョブを実行することです。このループは、「seq」コマンドを使用して並列ジョブを実行する際に非常に便利です。「for」ループを使用して並列ジョブを実行するさまざまな方法が、このチュートリアルで示されています。
このチュートリアルのこの部分では、“for”ループを使用して並行ジョブを実行する異なる方法が示されています。
Bashスクリプトで並列ジョブを実行するためのより簡単な方法は、「for」ループを使用することです。以下のスクリプトを持つBashファイルを作成し、「for」ループを10000回実行し、1000回の反復の後に数字を印刷します。このタスクは「for」ループを使用して並列に行われます。
#!/bin/bash #Iterate the loop until reaches 続きを読む →
時には、1つ以上のコマンドやスクリプトをバックグラウンドで実行する必要があります。この作業は、すべてのコマンドやスクリプトをスクリプトファイルに記述し、アンパサンド(&)を使用してファイルを実行するか、現在のシェルからサブシェルにコマンドやスクリプトを実行することで行うことができます。サブシェルは、$() やバッククオート(``)で囲むことによって複数のコマンドやスクリプトを実行するために使用できます。Bash サブシェルの使用方法はこのチュートリアルに示されています。
サブシェルでスクリプトを実行する異なる方法は、このチュートリアルのこの部分で示されています。
次のスクリプトを含むBashファイルを作成して、現在の日付と時間を表示してください。次に、サブシェルスクリプトをシングルクォートとダブルクォートで囲むことによって、$strVal変数が表示されます。
#!/bin/bash #Print the `date` command in the s 続きを読む →
スクリプトの実行中に固定の時間を待つ必要がある場合、ユーザーにしばらく待つように通知するためにプログレスバーを作成する方が良いです。プログレスバーは、シンプルなBashスクリプトや「cv」や「dialog」などのいくつかの組み込みLinuxコマンドを使用して作成できます。Bashスクリプトを使用してプログレスバーを作成する方法は、このチュートリアルで示されます。
このチュートリアルのこの部分では、Bashで進捗バーを実装する異なる方法が示されています。
以下のスクリプトを使用してプログレスバーを表示するBashファイルを作成します。プログレスバーは「#」文字と「sleep」コマンドを使用して表示されます。進捗バーを表示するために「printf」コマンドがここで使用されます。プログレスバーは4つの部分に分かれています。25%は1秒後に表示されます。50%は3秒後に表示されます。75%は2秒後に表示されます。100%は1秒後に表示されます。
#!/b 続きを読む →