shell 参数列表太长-VS代码中没有运行命令

ep6jt1vc  于 2022-11-16  发布在  Shell
关注(0)|答案(1)|浏览(170)

每当我在VS代码中运行任何命令时,我都会得到这个Argument list too long错误。所有命令都在Linux默认终端中工作,但在VS代码终端中没有任何命令工作。
错误-x1c 0d1x
我读了一些解决方案,但我并不理解所有的。这些是:

  • 删除整个目录并重新创建。
  • 这怎么可能是一个解决方案,因为这个错误发生在所有项目中。我会删除所有项目目录并重新创建它们吗?
  • 是否使用find方法批量删除文件?
  • 我的所有项目都是从git克隆的。即使我删除了一个项目的所有文件,然后重新创建它们,我也需要重新克隆我试过的项目,但这是行不通的。
  • 使用命令-ulimit -s <any_number_greater_than_current_limit>更改限制
  • 没成功。

我用这两个命令检查了参数的最大限制-

我做错了什么或被误解了什么?

ruarlubt

ruarlubt1#

正如我在问题中提到的,我尝试了几种方法,但都不适合我。
在我的例子中,我检查了.bashrc文件,发现PATH变量被导出了差不多10000多次-

export PATH="$PATH:$HOME/.composer/vendor/bin/
export PATH="$PATH:$HOME/.composer/vendor/bin/
export PATH="$PATH:$HOME/.composer/vendor/bin/
export PATH="$PATH:$HOME/.composer/vendor/bin/
...
...
...

这就是消耗空间并使内存充满以运行任何进一步的命令的原因,即使参数为0。
我删除了所有内容,并添加了以下脚本,以便仅在尚未添加时定义PATH

[[ $PATH =~ (^|.*:)"$HOME/.composer/vendor/bin"($|:.*) ]] || PATH=$PATH:$HOME/.composer/vendor/bin

我重新加载了 shell ,然后它工作了。
感谢@CharlesDuffy的建议。

相关问题