bash -c で受け取れるコマンドの最大長
背景
bash -c
で長文実行しようとしたところ、下記のエラーが出て失敗する
OSError: [Errno 7] Argument list too long: '/bin/bash'
最大長があるようなので、変更できるか探してみた。
内容
最大長の確認
下記の記事で最大長が確認できることがわかる。
<コマンド引数の文字数制限 – Argument list too long>
getconf ARG_MAX
2097152
docker
のPython:3
コンテナでは2097152byteらしい
最大長の変更
ARG_MAX
はLinuxのカーネルを再コンパイルすれば変更できるらしい。
(とても大変そう…)
<Is it possible to increase the maximum number of characters that ksh variable accepts?>
そこまでできない方はxargs
でパイプすると回避できる様子です。
xargs
内で問題ない量に分割実行してくれるという事でした。
ls | xargs rm
Author And Source
この問題について(bash -c で受け取れるコマンドの最大長), 我々は、より多くの情報をここで見つけました https://zenn.dev/hashito/articles/146d77edd7cd9e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol