シングルユーザー作成には次のものが適用されます。
curl -X POST --anyauth -u admin:admin --header "Content-Type:application/json" \
-d '{"user-name":"joe",
"password": "cool",
"role": [ "rest-reader", "rest-writer" ]
}' \
http://localhost:8002/manage/v2/users
ただし、forループ内に複数のユーザー(一度に1人)を作成すると失敗します。
for i in john frank bob
do
curl -X POST --anyauth -u admin:admin --header "Content-Type:application/json" \
-d '{"user-name":"$i",
"password": "$i",
"role": [ "rest-reader", "rest-writer" ]
}' \
http://localhost:8002/manage/v2/users
done
私は何が間違っていましたか?
答え1
データ文字列は一重引用符で囲まれていますが、変数は一重引用符内では拡張されません。
aを使用して開く一重引用符を閉じ、二重'
引用符変数を追加してから、次を使用して一重引用符で囲まれた"$i"
文字列を再度開くことができます'
。
for i in john frank bob
do
curl -X POST --anyauth -u admin:admin --header "Content-Type:application/json" \
-d '{"user-name":"'"$i"'",
"password": "'"$i"'",
"role": [ "rest-reader", "rest-writer" ]
}' \
http://localhost:8002/manage/v2/users
done
答え2
$i の周りの引用符を削除してみてください。
だから基本的に:
'{"username":"'$i'"}' これを試してみてください。
for i in john frank bob
do
curl -X POST --anyauth -u admin:admin --header "Content-Type:application/json" \
-d '{"user-name":"'$i'",
"password": "'$i'",
"role": [ "rest-reader", "rest-writer" ]
}' \
http://localhost:8002/manage/v2/users
done