[英]aws ssm send-command not working with special characters
我能夠向我的一些 Amazon ec2 實例發送簡單的命令。 例如:
aws ssm send-command --document-name "AWS-RunShellScript" --instance-ids "${instanceid}" --parameters commands=["cd /home/ec2-user","mkdir -p test"]
aws ssm send-command --document-name "AWS-RunShellScript" --instance-ids "${instanceid}" --parameters commands=["cd /home/ec2-user","sudo chmod 777 test"]
我還可以將文本回顯到示例文件:
aws ssm send-command --document-name "AWS-RunShellScript" --instance-ids "${instanceid}" --parameters commands=["cd /home/ec2-user","echo thisvalue = temp >> test/sample.txt"]
但是,如果我使用括號作為命令/文本的一部分,例如:
aws ssm send-command --document-name "AWS-RunShellScript" --instance-ids "${instanceid}" --parameters commands=["cd /home/ec2-user","echo [default] > test/sample.txt"]
我收到以下錯誤:
解析參數“--parameters”時出錯:預期:“,”,接收到:“>”用於輸入:
當文本被括在括號 [] 中時,就會引發問題。 因此,問題歸結為:我如何能夠通過 aws ssm 發送命令 function 傳遞“特殊”字符?
解決方案是:
aws ssm send-command --document-name "AWS-RunShellScript" --instance-ids "${instanceid}" --parameters commands='["cd /home/ec2-user","echo [\default\] > test/sample.txt"]'
換句話說,在命令選項周圍加上單引號並正確地轉義括號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.