Shell/Bash - 分配 cli 结果后字符串变量中的额外字符
Shell/Bash - extra characters in string variable after assigning cli result
在我的一个变量中,我存储了 aws cli 命令的结果(字符串)。
当回显值时它显示在 " "
但将其作为参数注入时显示在字符串的开头和结尾添加了额外的字符 ("
)。
如何消除这些?他们代表什么?
代码和错误日志:
dms_arn=$(aws dms describe-replication-tasks --filter Name=replication-task-id,Values="$dms_name" `--query=ReplicationTasks[0].ReplicationTaskArn --region us-east-1)`
echo Stopping Task "$dms_arn"
build 02-Nov-2021 18:52:01 Stopping Task "arn:aws:dms:us-east-1:account:task:XYZ"
error 02-Nov-2021 18:52:02
error 02-Nov-2021 18:52:02 An error occurred (InvalidParameterValueException) when calling the StopReplicationTask operation: Invalid task ARN: "arn:aws:dms:us-east-1:account:task:XYZ"
"
是双引号对应的HTML实体。
参见:entity
要转换它们,请检查:Short way to escape HTML in Bash? and Bash script to convert from HTML entities to characters
"
是双引号 ("
) 的 html 代码。双引号正在转换为 html 代码。
尝试在 aws
命令中使用 —output text
选项(这样你就不会得到引号)。请参阅有关输出格式的文档:https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html
如有必要,您可以使用 shell 参数扩展删除换行双引号:
dms_arn=${dms_arn%\"}
dms_arn=${dms_arn#\"}
echo "$dms_arn"
# quotes are gone
在我的一个变量中,我存储了 aws cli 命令的结果(字符串)。
当回显值时它显示在 " "
但将其作为参数注入时显示在字符串的开头和结尾添加了额外的字符 ("
)。
如何消除这些?他们代表什么?
代码和错误日志:
dms_arn=$(aws dms describe-replication-tasks --filter Name=replication-task-id,Values="$dms_name" `--query=ReplicationTasks[0].ReplicationTaskArn --region us-east-1)`
echo Stopping Task "$dms_arn"
build 02-Nov-2021 18:52:01 Stopping Task "arn:aws:dms:us-east-1:account:task:XYZ"
error 02-Nov-2021 18:52:02
error 02-Nov-2021 18:52:02 An error occurred (InvalidParameterValueException) when calling the StopReplicationTask operation: Invalid task ARN: "arn:aws:dms:us-east-1:account:task:XYZ"
"
是双引号对应的HTML实体。
参见:entity
要转换它们,请检查:Short way to escape HTML in Bash? and Bash script to convert from HTML entities to characters
"
是双引号 ("
) 的 html 代码。双引号正在转换为 html 代码。
尝试在 aws
命令中使用 —output text
选项(这样你就不会得到引号)。请参阅有关输出格式的文档:https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html
如有必要,您可以使用 shell 参数扩展删除换行双引号:
dms_arn=${dms_arn%\"}
dms_arn=${dms_arn#\"}
echo "$dms_arn"
# quotes are gone