Wie kann ich Pfad mit Leerzeichen in der bash-Variablen in .bashrc hinzufügen? Ich möchte einige Variablen in .bashrc für Pfade Speichern Charakter\es hat nicht geholfen
games=/run/media/mohamedRadwan/games\ moves # this doesn't work
games='/run/media/mohamedRadwan/games moves' # or this
games="/run/media/mohamedRadwan/games moves" # or this
... wenn ich renne:
mount $games
... es gibt eine Fehlermeldung aus, die angibt, dass nur versucht wird, /run/media/mohamedRadwan/games
zu mounten
... aber wenn ich echo $games
starte, zeigt es den vollen Wert, /run/media/mohamedRadwan/games moves
wie kann ich das lösen?
mount /dev/sda9 "$games"
Zitieren Sie wie erwähnt immer variable Dereferences. Andernfalls verwirrt die Shell die Leerzeichen im Wert der Variablen als Leerzeichen, die mehrere Werte trennen.
Wenn eine Variable Leerzeichen enthält, werden die Erweiterung der Variablen und dann die Wortaufteilung zu vielen Argumenten führen. Der Befehl Echo zeigt alle Argumente an, aber andere Programme oder Funktionen können Argumente anders behandeln.
Das Umgeben von Variablen in doppelte Anführungszeichen verhindert, dass Argumente aufgeteilt werden
printf "'%s'\n" $games
printf "'%s'\n" "$games"