linuxのbashで引数が多すぎる問題の解決法
2022-02-25 11:13:04
linux bashシェルで引数が多すぎる問題の解決策を紹介します。
から取得した。 http://www.jbxue.com/article/13378.html
ステートメントを使用して、ファイルの内容が空であるかどうかを判断します。
if test -z `cat filename`.
filenameが空であるか、スペースを含まない1つの文字列だけの場合は、すべてがうまくいき、そうでない場合は、引数が多すぎる、あるいは、二項演算子が期待される、などのエラーが報告されます。
参考記事:http://www.ibm.com/developerworks/cn/linux/shell/bash/bash-2/index.html
原因分析。
ファイル名のキャリッジリターンなどのスペースはbashを混乱させる。
環境変数が二重引用符で囲まれていない場合、bashは条件の中に独立変数が多すぎると考えます。
文字列の独立変数を二重引用符で囲むことで、この問題を解消することができます。
文字列の独立変数をすべてダブルクォートで囲む習慣をつけると、似たようなプログラミングのミスがかなりなくなりそうです。
解決方法
コマンド実行部分にダブルクォートを追加するだけです。
if test -z "`cat filename`"
シェルで引数が多すぎる場合の解決策 II.
今日、時折小さな問題を解決するために、奇妙な問題に遭遇 "[ ]" と " [[ ]] " 異なる効果は、次のように要約されます。
コードの表示: if [ -z ` lsof -i:22 ` ] //this write will report too many arguments, change to [[ -z ` lsof -i:22 ` ]] ](この書き込みは引数が多すぎると報告されます。
では
echo "ポートが動作していません"
さもなければ
echo "ポートが動作しています"
フィ
この簡単なシェルスクリプトを実行すると、いつも引数が多すぎると報告されるのですが、最終的に、バージョンの汎用性との関係があることがわかりました。もっと簡単に言うと、"[[ ]]"は"[ ] "より汎用性に優れているので、この問題を避けるために、"[ ] " を直接 " [[ ]]" quot; に置換すれば問題ないのですが、その場合は、"[[] " に置換してください。また、"[ ]"よりは、"[ ]"の方が耐障害性が強い、つまり、"[ ]& quot; ではエラーを報告するかもしれないが、"[] 構造ではエラーを報告しない、など、 & &,|| などのように。このような論理的判断は、この記事の焦点ではないので、パスです。
から取得した。 http://www.jbxue.com/article/13378.html
ステートメントを使用して、ファイルの内容が空であるかどうかを判断します。
if test -z `cat filename`.
filenameが空であるか、スペースを含まない1つの文字列だけの場合は、すべてがうまくいき、そうでない場合は、引数が多すぎる、あるいは、二項演算子が期待される、などのエラーが報告されます。
参考記事:http://www.ibm.com/developerworks/cn/linux/shell/bash/bash-2/index.html
原因分析。
ファイル名のキャリッジリターンなどのスペースはbashを混乱させる。
環境変数が二重引用符で囲まれていない場合、bashは条件の中に独立変数が多すぎると考えます。
文字列の独立変数を二重引用符で囲むことで、この問題を解消することができます。
文字列の独立変数をすべてダブルクォートで囲む習慣をつけると、似たようなプログラミングのミスがかなりなくなりそうです。
解決方法
コマンド実行部分にダブルクォートを追加するだけです。
if test -z "`cat filename`"
シェルで引数が多すぎる場合の解決策 II.
今日、時折小さな問題を解決するために、奇妙な問題に遭遇 "[ ]" と " [[ ]] " 異なる効果は、次のように要約されます。
コードの表示: if [ -z ` lsof -i:22 ` ] //this write will report too many arguments, change to [[ -z ` lsof -i:22 ` ]] ](この書き込みは引数が多すぎると報告されます。
では
echo "ポートが動作していません"
さもなければ
echo "ポートが動作しています"
フィ
この簡単なシェルスクリプトを実行すると、いつも引数が多すぎると報告されるのですが、最終的に、バージョンの汎用性との関係があることがわかりました。もっと簡単に言うと、"[[ ]]"は"[ ] "より汎用性に優れているので、この問題を避けるために、"[ ] " を直接 " [[ ]]" quot; に置換すれば問題ないのですが、その場合は、"[[] " に置換してください。また、"[ ]"よりは、"[ ]"の方が耐障害性が強い、つまり、"[ ]& quot; ではエラーを報告するかもしれないが、"[] 構造ではエラーを報告しない、など、 & &,|| などのように。このような論理的判断は、この記事の焦点ではないので、パスです。
関連
-
[解決済み】"ERROR. "を取得。ZooKeeperからマスターアドレスを取得できない。znode data == null" Hbaseシェル使用時
-
[解決済み] のコマンドがzshで見つからない [閉店]。
-
[解決済み] JenkinsでExecute Shellがビルドを失敗とマークする方法/タイミングは?
-
[解決済み] AWS cliの変数を置換して、シークレットマネージャーのパスワードを更新する。
-
[解決済み] タブを区切り記号として指定するカットコマンド【閉じた状態
-
[解決済み] Centos 6 /usr/sbin/sendmail - 件名を付けてメールを送信する方法は?
-
[解決済み] sed が正規表現で終端がない代用品でエラーになる
-
[解決済み] date: 余分なオペランド %d' エラー
-
バッドサブスティチューション
-
文字列 null with space エラー: 二項演算子が期待されています。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] "No such file or directory "と表示されるが、存在する
-
[解決済み] usr/bin/envはどのような効果があるのでしょうか?
-
Linuxシェルプログラミングのエラー "bad substitution "の解決法
-
シェルwhileループのエラー曖昧なリダイレクトとwhileループの変数割り当て失敗問題
-
ハイブのsqlとシェルスクリプトを書いているときに、いくつかの痛い問題に遭遇しました
-
linux shell script cannot be executed, error syntax error near unexpected token `$'\r'' solution.