首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数列表太长

参数列表太长
EN

Unix & Linux用户
提问于 2017-04-27 17:07:14
回答 1查看 3.1K关注 0票数 5

我试图输入一个参数很大的命令(1MB大小),但是它写着“参数列表太长了”。我怎样才能加入这个论点呢?

OS: Linux Ubuntu

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2017-04-27 17:29:49

如果参数大于内核的ARG_MAX限制,则无法在可执行文件之间传递参数。

如果您有一个太长的参数列表,则可以将其分割成较小的部分,例如使用xargs。这将根据需要多次运行该命令,根据需要提供尽可能多的参数。

语法是xargs command <file。如果省略command,它将显示其参数,如echo

作为一个演示,

代码语言:javascript
复制
xargs -n 4 </etc/motd

将在一行(第一次调用)上打印前四个令牌,然后通过另一行打印四个令牌,等等( -n参数设置参数的最大数量,因此根本不使用ARG_MAX限制)。

如果要运行的命令具有不良的副作用,则可能无法运行。例如,如果command将覆盖以前存在的任何./a.out文件,那么很明显,它完成后的最后一次运行的结果将留给您。

如果您可以配置或修改command,使其读取文件或标准输入,而不是命令行参数,则可以绕过限制操作。一个文件或流可以比ARG_MAX大得多,而且经常是这样的。

票数 16
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/361728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档