ホームページ php教程 PHP开发 Linux bashの引数が多すぎる問題の解決策

Linux bashの引数が多すぎる問題の解決策

Jan 04, 2017 pm 05:23 PM

ファイルの内容が空かどうかを判断するには、次のステートメントを使用します:

if test -z `cat filename`

ファイル名が空であるか、スペースのない文字列が 1 行だけある場合、それ以外の場合はすべて正常です。引数が多すぎます。次のようなエラーも報告されます: 二項演算子が必要です。

原因分析:
ファイル名内のスペースと改行は bash を混乱させます。
環境変数が二重引用符で囲まれていない場合、bash は条件に独立変数が多すぎると判断します。

文字列引数を二重引用符で囲むことで、この問題を解決できます。

すべての文字列引数を二重引用符で囲む習慣を身につければ、同様のプログラミング エラーの多くがなくなるようです。

解決策:

コマンドの実行部分に二重引用符を追加します:

if test -z "`cat filename`"
ログイン後にコピー

シェルの引数が多すぎる場合の解決策 2:

時々、今日小さな問題を解決しているときに奇妙な問題に遭遇しました。 "[[ ]] " の効果は次のように要約されます

コードを表示します: If [ -z ` lsof -i:22 ` ] // この書き方では引数が多すぎるため、 [[ - z ` に変更してください) lsof -i: 22`]]
then
echo "ポートが実行されていません"
else
echo "ポートが実行中"
Fi

この単純なシェル スクリプトを実行すると、常に多くの引数にレポートされ、最後により簡単に言うと、「[ ]」よりも「[[ ]]」の方が汎用性が高いことがわかりました。したがって、この問題を回避するには、「 [ 」を直接変更するだけです。 ]" と "[[ ]]"。さらに、「[[ ]]」は「[ ]」よりもフォールトトレラントです。つまり、「[ ]」で報告される可能性のあるエラーが、&&、|| などの「[[ ]]」構造では報告されない可能性があります。 、など。この種の論理的判断はこの記事の焦点では​​ないので、簡単に説明します

Linux bash の引数が多すぎる問題の解決策に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。 !

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)