Ich muss das folgende PowerShell-Skript in ein Bash-Skript konvertieren. Könnte mir jemand helfen? Ich bin wirklich neu in Bash und weiß nicht, wie man die Ausgabe von einem curl-Befehl manipuliert und dann in Json konvertiert.PowerShell in Bash konvertieren
0
A
Antwort
3
Powershell-Rückgabeobjektantwort von Invoke-RestMethod, aber curl return json string format. Sie müssen die Antwort von curl analysieren, um die Werte von Roles und EnvironmentIds mithilfe des JSON-Parser-Tools wie jq zu extrahieren.
sicher sein, dass Sie jq installiert
Das folgende Skript ist die Umwandlung des Skripts Powershell:
headers='{"X-Octopus-ApiKey"="<api_key>"}'
#$machine = Invoke-RestMethod "http://my.url/api/machines/discover?host=<ip_address>&type=ssh" -Headers $headers -Method Get
response=$(curl -s -X GET -H $headers "http://my.url/api/machines/discover?host=<ip_address>&type=ssh")
echo $response
Name="Myhostname"
Roles=$(echo $response | jq -r ".Roles")
echo $Roles
Roles+="Myrole2"
EnvironmentIds=$(echo $response | jq -r ".EnvironmentIds")
echo $EnvironmentIds
EnvironmentIds+="Myenvironment2"
echo $EnvironmentIds
AccountId="Myaccount_id"
#compose json string to be passed as a body for the next curl call
machine=$(printf '
{"Name":"%s",
"Roles":"%s" ,
"EnvironmentIds":"%s" ,
"Endpoint" : {
"AccountId" : "%s"
}
}' "$Name" "$Roles" "$EnvironmentIds" "$AccountId")
echo $machine
#Invoke-RestMethod "http://my.url/api/machines" -Headers $headers -Method Post -Body ($machine | ConvertTo-Json -Depth 10)
response=$(curl -s -X POST -H $headers -d $machine "http://my.url/api/machines")
echo $response
Verwandte Themen
- 1. Konvertieren Sie den Befehl xargs Bash in PowerShell?
- 2. Konvertieren in Powershell-Wörterbuch
- 3. Entspricht Bash alias in Powershell
- 4. Bash in PDF konvertieren
- 5. Konvertieren Zeichenfolge in bash
- 6. Windows Powershell-Äquivalent von Bash-Befehl
- 7. Powershell: XML in String konvertieren
- 8. konvertieren Räume in Powershell params
- 9. Konvertieren von Zeitstempel in Powershell
- 10. Powershell Tabelle in Array konvertieren
- 11. Dockerfile in Bash-Skript konvertieren
- 12. Bash-Skript in Python konvertieren
- 13. konvertieren VBScript Powershell
- 14. Powershell konvertieren String Variable
- 15. konvertieren PowerShell zu Postboten
- 16. Powershell konvertieren String Array
- 17. Powershell konvertieren von Namen
- 18. Bash oder Powershell Skripthilfe benötigt
- 19. Linux Bash Shell Befehl in Windows Powershell
- 20. Konvertieren bash Ausgabe JSON
- 21. In PowerShell Zeichenfolge in Datetime konvertieren
- 22. Zeichenfolge in Datetime in Powershell 2.0 konvertieren
- 23. Konvertieren von CSV in String in Bash
- 24. wissenschaftliche Notation in Dezimal konvertieren in Bash
- 25. PowerShell Char Charray in String konvertieren
- 26. Kann PowerShell Fehlerausgabe automatisch in Ausnahmen konvertieren?
- 27. Powershell: Konvertieren eines Objekts in eine Zeichenfolge
- 28. Konvertieren Sie dieses JavaScript in PowerShell 2
- 29. Powershell Netzwerkschnittstelle Konvertieren von Bytes in Kilobyte
- 30. konvertieren Bash 'ls' Ausgabe in JSON-Array
SO ist nicht eine freie Übersetzung Service. Was hast du bisher versucht? Was funktioniert nicht wie erwartet? –