ホームページ  >  記事  >  コンピューターのチュートリアル  >  bash スクリプトで [[:not found エラーを解決する方法]

bash スクリプトで [[:not found エラーを解決する方法]

PHPz
PHPzオリジナル
2024-02-19 21:54:081271ブラウズ

bash スクリプトの [[: not found エラーの解決策]

bash スクリプトを作成するときに、[[: not found] のようなエラー メッセージが表示されることがあります。このエラーは通常、スクリプト内で角かっこ内の条件式が使用されていることが原因で発生しますが、システムの bash バージョンはこの構文をサポートしていません。

デフォルト設定では、ほとんどの Linux システムで GNU bash が使用され、 [[ $variable == "value" ]] などの角括弧内の条件式がサポートされます。ただし、場合によっては、エラー メッセージ [[: not found が表示されることがあります。これは、システムの bash バージョンがこの構文をサポートしていないことを意味します。

この問題を解決するには、次の方法を実行できます。

  1. システム内の bash のバージョンを確認します。
    bash --version を実行します。 コマンド、システムで使用されている bash のバージョンを確認します。バージョン番号がそれより低い場合、角括弧内の条件式構文はサポートされない可能性があります。
  2. スクリプト内の [[]][] に置き換えます。の bash バージョンは
    [[ および ]] をサポートしていません。これらのシンボルを [ および ] に置き換えることができます。より一般的で互換性の高い条件式構文。たとえば、[[ $variable == "value" ]][ "$variable" = "value" ] に置き換えます。
  3. スクリプトを実行するには、
  4. /bin/sh の代わりに /bin/bash を使用します。 スクリプトの先頭で、
    #! /bin/bash スクリプトで使用される bash インタープリターのパスを指定します。これにより、スクリプトは実行時にシステムのデフォルトのシェルではなく bash を使用するようになります。
  5. システムの bash バージョンを更新します:
  6. システムの bash バージョンが低い場合は、システム ソフトウェアを更新して、新しいバージョンの bash をインストールすることを検討できます。具体的な更新方法は使用する Linux ディストリビューションによって異なりますが、パッケージ マネージャーを使用して bash を更新できます。
要約すると、bash スクリプトで

[[: not found エラーが発生する場合、システムの bash バージョンが条件式構文をサポートしていないことが原因である可能性があります。角括弧が原因です。この問題を解決するには、bash バージョンを確認し、角かっこ内の条件式を置き換えるか、/bin/bash を使用してスクリプトを実行するか、bash バージョンを更新します。これらの方法により、スクリプトをさまざまなバージョンの bash で通常どおり実行できるようになります。

以上がbash スクリプトで [[:not found エラーを解決する方法]の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。