もっと詳しく
bashプログラミングに関しては、エラーにはさまざまな種類と理由があります。 それらのエラーの1つは、bashプログラミングでの「単項演算子が期待される」エラーです。 条件付き宣言の式を評価するときに、「単項演算子が必要」という問題が発生する可能性があります。 このエラーの「単項演算子が期待されるbash」の理由はさまざまです。 まず、問題の原因について説明します。 続いて、この問題を解決するためのいくつかのオプションについて説明します。 Ubuntu 20.04システムで新しいbashファイルを作成して、今日の記事から始めましょう。 このためには、シェルターミナル内の「touch」命令を利用して、ファイルに「unary.sh」という名前を付ける必要があります。

$ touch unary.sh
$ nano unary.sh

この記事の最初の例は、「unary.sh」ファイルに新しいbashコードを作成することから始めます。 このエラーを説明するために、条件ステートメントを使用します。 このコードファイル内で、最初の行に「#!/ bin/bash」としてbashサポートを追加しました。 「-p」オプションを使用してユーザーから入力を取得し、その入力を変数「v」に追加するために、readステートメントを試行しています。 if-elseステートメントは、条件をチェックするためにここにあります。 ユーザーが変数「v」に入力した値が14に等しいかどうかをチェックしています。 同等性をチェックするために、「-eq」比較演算子を使用しています。 ユーザーが追加した付加価値が数値14と一致する場合、「then」の部分には「echo」句を使用して「ValueMatched」が表示されます。 それ以外の場合、else部分は、シェルで「値が一致しません」というメッセージを表示する「echo」ステートメントを実行します。 ここでコードが完成し、実行できるようになりました。

bashコードを保存した後、bash命令で実行しました。 ユーザーからの入力を求めていることがわかりました。 ユーザーがフィールドに値「67」を追加し、Enterキーを押しました。 値が「if」条件で指定された値と一致しないため、次の出力に示すように、「else」部分が実行され、「値が一致しません」と表示されました。

これは、比較を実行するためにいくつかの数値を使用することについてでした。 コードをもう一度実行して、シェルで「単項演算子が必要です」エラーが発生するようにします。 そこで、もう一度コードを試し、入力を求める入力フィールドに何も入力せず(空白のまま)、「Enter」ボタンを押して続行しました。 突然、コードの3行目に「単項演算子が必要です」というエラーが発生します。 その後、コードに記載されている条件のelse部分を使用して、「値が一致しません」というメッセージを表示するだけです。

ターミナルの出力領域で「単項演算子が必要です」というエラーが発生しましたが、このエラーの主な理由を認識できません。 この問題の主な理由を見つけるには、bashファイルコードをデバッグする必要があります。 そのためには、bash命令内で「-xv」オプションを使用し、その後にで始まるファイル名を使用する必要があります。 示されているように「/」。 コードの各行をデバッグし、エラー行も表示します。 エラーラインが「[ -eq 14 ]」。 私たちは、コードで指定されているように、それは「$ V」を表示しません。 このエラーの理由は、スペースの使用は、左側の式を行いますすなわち、「$ vは、」条件から消えていることです。

このスクリプトがbashで「単項演算子が必要です」エラーをスローしないようにするには、コードをもう一度更新する必要があります。 次の画像で行ったように、左の式「$v」の前後に二重引用符を追加する必要があります。 残りのコードは今のところ変更されません。 これで、コードを使用する準備が整いました。 最初に「Ctrl+S」で保存し、「Ctrl+X」でファイルを終了する必要があります。

bashクエリを使用して更新されたbashファイルを実行した後、ユーザーは「EnterSomething」テキストの前の入力フィールドに値を入力せずにEnterキーを再度押しました。 これで、単項演算子の期待されるエラーは削除されましたが、別のエラー「整数式が期待されます」が発生しました。 ただし、ユーザーが入力した値が数値14と一致しないという表示メッセージも表示されます。したがって、このエラーの解決策を見つける必要があります。

「-eq」比較演算子を使用して一部の値を整数14と比較していることがわかっているので、「-eq」比較演算子は文字列値または変数の比較にのみ設計および使用されるため、例外がスローされます。 。 bashの整数の数を比較するには、「=」代入演算子を使用して、2つの値が等しいかどうかを確認する必要があります。 この更新されたコードを保存して、結果を確認しましょう。

この更新されたbashコードの実行後、ユーザーは再び何も入力せず、単に「Enter」を押して続行します。 今回はエラーは発生していません。 これは、「=」演算子を使用しているためです。 その代わりに、「else」句を実行し、「値が一致しません」というメッセージを表示しました。

ターミナルシェルで単項演算子の予期されるエラーが発生しないようにする別の方法は、任意のタイプの値に「-eq」比較演算子を使用しながら、「if」条件の開始と終了に二重の「正方形」ブラケットを使用することです。 そこで、以下のようにしました。

「Enter」を押した後、ユーザーは実行中にエラーを受け取りません。

結論

これはすべて、bashエラー「単項演算子が必要です」を解決するためのさまざまな方法の使用に関するものです。 その際、「整数式が必要です」という別のエラーが発生し、それも解決しました。 上記の例を修正して、bashエラーを解決できます。

The post 問題の解決:Bash単項演算子が必要です appeared first on Gamingsym Japan.