我在命令行上将变量传递给脚本.命令的字符限制是多少?例如:
$MyScript reallyreallyreally...reallyreallyreallylongoption
谢谢.
解决方法
shell / OS强加的限制通常很长 – 通常是一个或二十万个字符.
getconf ARG_MAX将为您提供命令的最大输入限制.在Debian系统上,我目前有一个打开的终端,返回131072,即128 * 1024.你的环境变量减少了限制,就像我的内存正确地为我服务一样,它们在shell中以相同的结构传递,尽管在大多数情况下只会取消几百个字符.要查找此值的近似值,请运行env | wc -c – 这表示此机器在此登录时当前时间为325个字符.
脚本很可能允许这样的全长,但其他公用事业不会故意或通过设计问题强加自己的限制.对于长命令行上的单个参数可以有多长时间,和/或文件路径可以有多长,也可能存在人为限制.