サーバー上のファイルのPOSTをBase64にエンコードして実行できるコマンドで、およびをcurl
組み合わせたいです。base64
私は以下を試しました:
curl 'http://localhost:5000/files' -X POST -H 'Content-Type: application/json' -d '{"file": "$(base64 hello.txt)"}'
"$(base64 hello.txt)"
ただし、実行結果を上書きせずに文字列リテラルを公開するだけですbase64 hello.txt
。では、どうすれば正しくできますか?
答え1
単純な引用符を使用すると、何も解釈されません。
~$ echo 'foo:$var bar:$(base64 foo) something'
foo:$var bar:$(base64 foo) something
説明が必要な場合は、引用符をオフにする必要があります。
~$ echo 'foo:'$var' bar:'$(base64 foo)' something'
foo:foo bar:Zm9vCg== something
何を含めることができるかわからないので、二重引用符を使用することをお勧めします。
~$ echo 'foo:'"$var"' bar:'"$(base64 foo)"' something'
foo:foo bar:Zm9vCg== something