[解決済み] Bashのコマンドラインと入力制限
2022-10-30 20:50:47
質問
bash (または他のシェル) で入力できる長さには、何らかの文字数制限があるのでしょうか。もしそうなら、その文字数制限は何ですか?
すなわち、コマンドラインが実行するには長すぎるコマンドを bash で書くことは可能でしょうか。 必須の制限がない場合、推奨される制限はありますか?
どのように解決するのですか?
コマンドラインの長さの制限は、シェルによってではなく、オペレーティングシステムによって課されます。この制限は通常、数百キロバイトの範囲にあります。POSIX はこの制限を
ARG_MAX
と表記され、POSIX 準拠のシステムでは
$ getconf ARG_MAX # Get argument limit in bytes
例えば、Cygwinでは32000で、私が使っているさまざまなBSDやLinuxシステムでは131072から2621440までです。
この制限を超えるファイルのリストを処理する必要がある場合、そのファイルに対して
xargs
を超えない引数のサブセットでプログラムを繰り返し呼び出すユーティリティです。
ARG_MAX
.
あなたの特定の質問に答えるために、はい、長すぎる引数リストでコマンドを実行しようとすることは可能です。シェルは "引数リストが長すぎます" というメッセージを出してエラーになります。
を使用することに注意してください。
入力
は、(標準入力やその他のファイル記述子で読み込まれた) プログラムへの
ではなく
制限されません(利用可能なプログラムリソースによってのみ)。したがって、シェルスクリプトが文字列を変数に読み込む場合、以下の制限を受けることはありません。
ARG_MAX
. また、この制限はシェルビルトインにも適用されません。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] シェルコマンドの実行と出力のキャプチャ
-
[解決済み] 指定された時間/日付まで眠る
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] find を使ってサブディレクトリを除外する
-
[解決済み] Bashでファイルを転置する効率的な方法
-
[解決済み] スクリプトの実行に関連したファイルの参照
-
[解決済み] このbashのフォーク爆弾はどのように機能するのでしょうか?重複
-
[解決済み] set -u` による Bash による空の配列展開
-
[解決済み] bashを使って関数の出力を変数に代入するにはどうすればよいですか?
-
[解決済み] シェルスクリプトで行末にセミコロンは不要?重複
-
[解決済み] コマンドでファイルを使用し、出力を切り詰めることなく同じファイルにリダイレクトするにはどうすればよいですか?
-
[解決済み] unset の使用と変数への空の設定
-
[解決済み] MSYSでフォルダを閲覧する