シェルスクリプトに値をパラメータとして追加する

シェルスクリプトに値をパラメータとして追加する

私が見つけたsed応答(カール)値これで、ファイルに印刷された値を取得し、同じ.shスクリプト内の他の部分文字列に使用するには助けが必要です。

サーバーの応答は次のとおりです。

{"status":{"code":"STATUS_OK","message":"ServiceUUID sent successfully via..."},"body":{"data":{"userApps":{},"username":"HereTheUsername","fullName":"NameOfTheAccountPossessor","lang":"sq","blocked":false,"lastLogin":"2016-10-10T17:19:22","passwordResetUuid":"6147dc32-b72e-450a-8084-2fdb5319a931","userAccessLevel":5,"countDownSeconds":0,"serviceUuid":"7260276c-5c3f-41d3-9329-3603acecb7e5","userAttributes":{},"labelMap":{},"id":"APPUSER00000012","someLabel":"NameOfTheOrganisation"}}}

だから「serviceUuid」の値を見つけました。

fuid=$(echo "$uuid" | sed -nE 's/.*"serviceUuid":"(.*)","user.*/\1/p' >> final.txt)

これで、この値(Final.txtファイルにあります)を取得し、aass.shというスクリプトの同じファイル内のこの文字列に貼り付けたいと思います。

login=$(curl -X POST -H "ACCEPT-LANGUAGE:en"   -H "Content-Type: application/json;charset=utf-8" -H "Accept-Encoding:gzip"   -H "Accept: application/json" -d  {"serviceUuid":"**HERE**"} UrlOfTheSite)

私は何をすべきですか?

ベストアンサー1

最新のuuidだけがFinal.txtに保存されていると仮定すると、これを行うことができます。

service_uuid=$(cat final.txt)
login=$(curl -X POST -H "ACCEPT-LANGUAGE:en"   -H "Content-Type: application/json;charset=utf-8" -H "Accept-Encoding:gzip"   -H "Accept: application/json" -d  {"serviceUuid":"${service_uuid}"} UrlOfTheSite)

スクリプト全体を見なくてもFinal.txtに何があるのか​​正確にはわかりませんが、上書き(>)ではなく追加のリダイレクト(>>)を使用しているため、ファイルが実行リストに残ることがあることに注意してください。みんなuuidはスクリプトが受け取るものです。

おすすめ記事