2017-01-19 4 views
0

Guten Tag alle, ich versuche, ein Skript zu schreiben, in dem ein Befehl das Doppelpunkt-Zeichen ':' enthalten sollte. Mit Blick auf this document können Zeichen mit diesem Zeichen '^' maskiert werden, das Doppelzeichen wird jedoch nicht erwähnt. seinEscape-Doppelpunkt in Bash-Skript

sollte der Befehl:

iwconfig wlan0 key s:AsciiPassword 

Also in meinem Skript habe ich so etwas wie:

iwconfig $interface key s:$password 

Als ich den ersten Befehl manuell ausführen, wird es offensichtlich, was erwartet wird, aber die zweite einer im Drehbuch, Nichts !!! Würde mich über jede Hilfe freuen

Update: Ich kann nicht wirklich eine Ausgabe erzeugen, weil der Befehl keine erzeugt.

+0

"Ich habe so etwas wie"? Bitte aktualisieren Sie Ihr Q mit Code, den Benutzer in ihre Terminals kopieren und einfügen können und die gleichen Fehlermeldungen erhalten. Wie es ist, wird dies ein Spiel von 20 Fragen sein. Viel Glück. – shellter

+0

Das Problem ist nicht mit dem Doppelpunkt; Bist du sicher, dass "interface" und "password" die richtigen Werte haben? – chepner

+0

Die Seite, auf die Sie verlinken, handelt nicht von 'bash'; es ist irrelevant. – chepner

Antwort

1

Das Dokument, das Sie verknüpfen, bezieht sich auf Windows.

In bash; Flucht mit '\'.

Sie wollen wahrscheinlich auch Ihre variable Erweiterungen

zitieren, den ich mir vorstellen, was Sie brauchen:

iwconfig "${interface}" key s:"${password}" 

Sie kann Bedarf die entkommen:, obwohl ich bezweifle es. Wenn ja, wäre es:

iwconfig "${interface}" key s\:"${password}" 
+0

Sie müssen nicht aus dem Doppelpunkt entkommen; Unter der Annahme, dass die Variablenwerte korrekt sind, ist das Zitieren der Erweiterungen das einzige, was einen Unterschied machen kann. – chepner

+0

Das war mein Gedanke auch; aber ich dachte, ich würde ein Beispiel hinzufügen, das zeigt, wie es gemacht wurde, da die Person auf einen Führer für die falsche Plattform verweist. Wahrscheinlich ist es die Erweiterung, wie Sie gesagt haben. – linedash

+0

Es ist wichtig, explizit zu sein; Andernfalls implizieren Sie, dass es funktioniert und Sie neigen dazu, eine Antwort wie "Ich entkam dem Doppelpunkt und es hat nicht funktioniert." Versuchen Sie solche Beschwerden im Keim zu ersticken. – chepner