我已经在path变量中设置了大约2000条路径(我知道它太多了,但我做了一些实验),每当我试图运行任何命令时,都会得到以下错误,在本例中是ls
。-bash: /bin/ls: Argument list too long
我已经检查了关于错误消息的几个主题。但是,我想知道路径变量长度与arg list错误有什么关系。
有人能给我个主意/解释吗?
谢谢!
最佳答案
相同的缓冲区用于将命令行参数和环境传递给新进程。在这种情况下,PATH
的值似乎足够大,环境可以超过os对缓冲区大小的任何限制。因此,即使零参数列表也太长。
关于linux - -bash:/bin/ls:如果有很多PATH,则参数列表过长,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55507475/