gpt4 book ai didi

linux - 在 shell 脚本中查找匹配的 `)' 时意外的 EOF

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:41 27 4
gpt4 key购买 nike

我有一个包含此命令的 shell 脚本:

  SNAPSHOT_ID=$(bash <<-EOF 
aws rds create-db-snapshot
--db-instance-identifier $RDS_INSTANCE_ID
--db-snapshot-identifier $RDS_INSTANCE_ID-manual-$NOW_DATE
--query 'DBSnapshot.[DBSnapshotIdentifier]' --output text
EOF
)

但是我收到这个错误:

line 191: unexpected EOF while looking for matching `)'

我该如何解决这个问题?

最佳答案

您不需要 here-doc 即可将您的命令发送到新的 shell(并且您已经在子 shell 中):

snapshot_id=$(aws rds create-db-snapshot \
--db-instance-identifier "$RDS_INSTANCE_ID" \
--db-snapshot-identifier "$RDS_INSTANCE_ID-manual-$NOW_DATE" \
--query 'DBSnapshot.[DBSnapshotIdentifier]' --output text)

不过,您确实必须转义您的换行符。

我还在参数扩展周围添加了引号并将正在创建的一个变量小写,因为大写变量名称保留给 shell 和实用程序(参见 POSIX spec ,第四段)。

关于linux - 在 shell 脚本中查找匹配的 `)' 时意外的 EOF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58120225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com