You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行eval命令时遭遇zsh: file name too long错误求助

解决zsh执行eval $(aws ecr get-login-password...)报错"文件名太长"的问题

问题原因

AWS CLI v2版本中,aws ecr get-login-password命令仅输出身份验证令牌,不再像v1那样生成完整的docker login命令。直接用eval包裹这个命令的输出,会把长令牌字符串当作命令执行,触发zsh的"文件名太长"错误。

正确执行方式

需要把令牌传递给docker login命令,正确格式如下:

aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin <你的ECR仓库URI>

例如,如果你的ECR仓库URI是123456789012.dkr.ecr.us-west-2.amazonaws.com,命令就是:

aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.us-west-2.amazonaws.com

额外排查点

  • 确认AWS CLI版本:执行aws --version检查是否为v2版本,v1版本的aws ecr get-login(不带-password)才会生成完整命令,v2已废弃该用法。
  • 检查环境变量:确保AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY等身份凭证配置正确,避免令牌生成异常。

内容的提问来源于stack exchange,提问作者iammrmehul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:05:07