PowershellやDOSバッチのコマンドライン引数でダブルクオートを使う際にはまったのでメモ。
あと、1行だと長いコマンドを複数行で表現するときのメモ。
確認環境
Windows10 Home 1909 (OSビルド 18363.720) AWS CLI:1.16.148
PowershellとDOSバッチそれぞれのやり方
今回これを書いたのは、DynamoDBローカル版に対し、Powershell/DOSバッチからコマンドを投入した際に、ダブルクオートがうまく認識されなくてエラーが発生したことがきっかけです。
Powershellでは「\"」でうまくいきました
コマンドの途中改行は「`」(バッククオート)です
# Powershell版 aws dynamodb get-item --table-name test_table --key '{ \"key\": {\"S\": \"hoge\" } }' ` --endpoint-url http://localhost:8000
コマンドプロンプトでは「"\""」でうまくいきました
コマンドの途中改行は「^」です。
REM DOSバッチ版 aws dynamodb get-item --table-name test_table --key "{ "\""key"\"": {"\""S"\"": "\""hoge"\"" } }" ^ --endpoint-url http://localhost:8000
(参考)bashで動かす場合
# bash aws dynamodb get-item --table-name test_table --key '{ "key": {"S": "hoge" } }' \ --endpoint-url http://localhost:8000
参考にしました