ich eine Locke Befehl bin Ausgabe, die im Idealfall würde wie folgt aussehen (beachten Sie, dass dies wegen des Mangels an Flucht nicht korrekt ist):innerhalb Apostroph
curl -X POST --data-urlencode 'payload={"channel": "@somebody", "text": "I'm sending you a test message. Let me know if you get it."}' https://hooks.slack.com/services/XXX
Das Apostroph im Wort Ich bin dafür verantwortlich, dass dies fehlschlägt. Ich bin jedoch nicht sicher, wie ich dieses Zitat umgehen kann, da es mehrere Ebenen von verschachtelten Anführungszeichen gibt.
Als eine zweite Frage, was ist, wenn in der Textzeichenfolge doppelte Anführungszeichen stehen? Wie konnten diese entkommen?
Ich habe gelesen, über die Flucht und schaute auf andere SO Beiträge (einschließlich How to escape single-quotes within single-quoted strings?), aber ich kann nicht scheinen, um irgendwelche Lösungen zu arbeiten. Der verlinkte Post spricht von einfachen Anführungszeichen in einfachen Anführungszeichen und löst dieses Problem durch doppelte Anführungszeichen. Mein Anführungszeichen ist jedoch bereits in Anführungszeichen gesetzt. Das ist also komplizierter.
Vielen Dank für Ihre Hilfe.
@ user000001 Ich habe meinen Beitrag bearbeitet, um zu erklären, warum dieser Beitrag mein Problem nicht löst. – Josephus
Verwenden Sie einfach eine Ansc c-Zeichenfolge '$ 'stuff'' und entkommen Sie die einzelnen Anführungszeichen darin. – 123
@Alex: Re die Bearbeitung, es gibt keinen Unterschied. Was Bash betrifft, ist das doppelte Zitat in einfachen Anführungszeichen nur ein anderes Zeichen. Also sollte so etwas funktionieren: 'curl -X POST --data-urlencode 'payload = {" channel ":" @somebody "," text ":" Ich schicke dir eine Testnachricht. Lass es mich wissen wenn du es bekommst. "} 'https: // hooks.slack.com/services/XXX' – user000001