Bash命令行和输入限制
发布时间:2020-12-15 20:05:37 所属栏目:安全 来源:网络整理
导读:在bash(或其他shell)中,输入可以有多长时间?如果是,那是什么字符限制? 也就是说是否可以在bash中写一个太长的命令来执行命令行? 如果没有要求的限制,是否有建议的限制? 命令行的长度限制不是由shell强制的,而是由操作系统决定的。此限制通常在百千字
在bash(或其他shell)中,输入可以有多长时间?如果是,那是什么字符限制?
也就是说是否可以在bash中写一个太长的命令来执行命令行?
命令行的长度限制不是由shell强制的,而是由操作系统决定的。此限制通常在百千字节的范围内。 POSIX表示此限制ARG_MAX和POSIX一致的系统,你可以查询它
$ getconf ARG_MAX # Get argument limit in bytes 例如。在Cygwin这是32000,在不同的Linux发行版我使用它是从131072到2621440。 如果需要处理超过此限制的文件列表,您可能需要查看xargs实用程序,该实用程序会重复调用一个参数子集不超过ARG_MAX的程序。 要回答你的具体问题,是的,可以尝试运行一个参数列表太长的命令。 shell将会出现一个消息“参数列表太长”。 注意,对程序的输入(在stdin或任何其他文件描述符上读取)不受限制(仅由可用的程序资源)。因此,如果您的shell脚本将字符串读入变量,您不受ARG_MAX的限制。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |