これは、httpサーバにjson本体をポストするために使用される小さなコマンドラインスクリプトです。私は最初のコマンドライン引数$ 1をjson本体に渡すのが難しいと思っています。コマンドが失敗しないBashスクリプティング、コマンドライン変数を代用することはできません
#!/bin/bash
curl -X POST -d '{ "game": 16, "id": $(($1)) }' http://localhost:10000/
、しかし、HTTPボディは正確に
含まれている私は、{ "ゲーム":$(($ 1)):16、 "ID"}
をスクリプト./script 123を実行してjson本体を送信したい
{ "game": 16, "id": 3 }
これを行うにはどうしたらよいですか?
はい、すべてが必要とされています。実際には12345という数字になりますので、すべての文字が必要です – cateof
一般に、有効なJSONを生成するには、 '$ 1'の内容を正しくエスケープする必要があるため、文字列補間を使用してJSONを作成しないでください。 '$(jq --arg val" $ 1 "'(game:16、id:$ val)')'のようなものがより適切です。 – chepner