Linux 명령 출력을 aws cli의 이 json 문자열에 어떻게 넣을 수 있습니까?

Linux 명령 출력을 aws cli의 이 json 문자열에 어떻게 넣을 수 있습니까?

dynamodb의 행을 업데이트하고 aws cli를 사용하여 일부 필드의 값을 변경할 수 있기를 원합니다.

그 중 하나는 부울 값입니다. 다른 하나는 Unix 타임스탬프를 포함하는 숫자 필드입니다.

aws --profile dev dynamodb update-item  --table-name my-dyno-table  \
  --update-expression "SET deleted = false, updated = :updated" \
  --expression-attribute-value '{":updated": {"N":`date +%s`}' \
  --key '{ ":s1": { "S": "83418294-eae0-4f90-ad56-3972e8c12a0d"}}' \
  --endpoint-url http://localhost:7070

을 실행하여 타임스탬프를 얻을 수 있습니다 date +%s.

그러나 위의 aws cli 명령에서 볼 수 있듯이 날짜 출력을 가져올 수 없습니다.

'{":updated": {"N":`date +%s`}'

zsh에 대한 불만

매개변수 '--expression attribute value' 구문 분석 오류: 잘못된 JSON: 예상 값: 1행, 19열(문자 18) 수신된 JSON: {":updated": {"N": date +%s}

date이 문자열에 값을 입력하는 올바른 방법은 무엇입니까?

답변1

내 문제는 한 쌍의 작은 따옴표로 묶는 것입니다.

해결책은 다음과 같습니다.

"{\":updated\": {\"N\":`date +%s`}}"

관련 정보