Fast. Es ist so, dass es einen Unterschied macht, ob man doppelte oder einfache Anführungszeichen verwendet, aber unabhängig von Mac, Linux oder Windows.
Die Befehle, die dafür sorgen sich mit dem entsprechenden Wlan zu verbinden, werden über die Konsole ausgeführt. Das passiert sowohl im Hintergrund von Node-RED, oder aber wenn ihr sie manuell eingebt.
Wenn in der Kommandozeile (Terminal) Befehle eingegeben werden, dann werden dabei bestimmte Operatoren interpretiert. So zum Beispiel “$” und “@”.
Der Punkt ist jetzt, dass bei doppelten Anführungszeichen diese speziellen Zeichen zugelassen sind, also mit interpretiert werden. Bei einfachen Anführungszeichen passiert das nicht und die Zeichen werden genau so übernommen.
Nehmen wir als Beispiel den Variablen-Operator “$”:
Wenn ich in der Konsole schreibe
name=HALLO
Dann hab ich damit die Variable name definiert und ihr den Wert HALLO gegeben.
echo $name
gibt jetzt den Wert HALLO wieder, durch den Variablen-Operator “$” wird das in der Konsole entsprechend definiert.
Hab ich also das Dollar-Zeichen als Sonderzeichen in meiner SSID oder im Passwort, dann versucht Linux den Wert dieser Variable zu benutzen. Also zum Beispiel:
sudo nmcli device wifi connect “Wlan-Name” password “Zeichenfolge$test”
In diesem würde der Befehl als Passwort “Zeichenfolge” annehmen und die Variable “test”. Diese Variable wurde aber nie definiert, dementsprechend bleibt diese Stelle leer. Dadurch kann dann keine Verbindung zum Wlan aufgebaut werden, weil das Passwort ist ja nicht richtig.
Schreiben wir jetzt aber
sudo nmcli device wifi connect ‘Wlan-Name’ password ‘Zeichenfolge$test’
(mit einfachen Anführungszeichen), dann wird der Variablen-Operator nicht interpretiert und das Zeichen so übernommen wie geschrieben, in diesem Fall haben wir dann als Passwort tatsächlich “Zeichenfolge$test” und können damit eine Verbindung zum Wlan herstellen.
Ich hoffe das ist soweit verständlich