【发布时间】:2022-10-15 10:47:29
【问题描述】:
在 PowerShell 中运行命令时,aws s3api put-object-tagging --bucket bucketName --key fileName.tar.gz --tagging TagSet={Key=public,Value=yes} 命令中需要更改哪些特定语法以防止出现如下所示的错误?
请注意,aws s3api put-object-tagging --bucket bucketName --key fileName.tar.gz --tagging TagSet={Key=public,Value=yes} 命令语法在同一台计算机上的 windows cmd 中运行时可以完美运行。
这是 PowerShell 日志,包括该命令在 Windows cmd 中运行的同一台计算机上的命令和错误消息:
PS C:\Users\userName> aws s3api put-object-tagging --bucket bucketName --key fileName.tar.gz --tagging TagSet={Key=public,Value=yes}
At line:1 char:129
+ ... --key fileName.tar.gz --tagging TagSet={Key=public,Value=ye ...
+ ~
Missing argument in parameter list.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingArgument
PS C:\Users\userName>
另请注意,我是 PowerShell 的新手。我只是有时需要将其他语言的短脚本翻译成 PowerShell。
【问题讨论】:
-
对于选项,请尝试一个破折号而不是两个破折号。
-
@jdweng,
awsCLI 在参数名称前使用--,而不是-。 -
虽然乍一看这个问题似乎很有趣,但从 PowerShell-vs.-other-shells 语法的角度来看,它的前提 - “当在同一台计算机上的 windows cmd 中运行时,命令语法完美地工作” - 与您发布的解决方案隐含矛盾在评论中。对我来说,一个本质上存在缺陷的问题——没有得到承认,也无法回答——值得投反对票。万一是您对答案投了反对票(它会尽力解决您有缺陷的问题和随后的反馈):请告诉我们它有什么问题,以便可以改进。
-
@mklement0 OP 中的每个语句都是正确的,可以通过在配置相当的 Windows 笔记本电脑中重复命令来验证。请停止沉迷于问答网站上的一些随机发布。如您的答案下方的评论中所述,此 OP 的发布者在没有您回答的帮助下解决了问题。放手,继续前进。嘘。
-
这不仅仅是关于你和我,Sheesh(我现在不是你的昵称,但我很高兴使用它 - 增加了熟悉感并培养了合作精神),它是关于留下一些东西是对未来的读者有用.不,您问题中的陈述不正确-如果是,我的原始答案将解决您的问题。您在评论中提到的解决方案是不同的解决问题的方法,例如分心.
标签: windows amazon-web-services powershell amazon-s3 aws-cli