![Linux 명령 출력을 aws cli의 이 json 문자열에 어떻게 넣을 수 있습니까?](https://linux55.com/image/189737/Linux%20%EB%AA%85%EB%A0%B9%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20aws%20cli%EC%9D%98%20%EC%9D%B4%20json%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%97%90%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%84%A3%EC%9D%84%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
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`}}"