Ersetzen Sie Zeichenfolgen in der Shell. Fehler: Falsche Ersetzung

Ersetzen Sie Zeichenfolgen in der Shell. Fehler: Falsche Ersetzung

Ich versuche, alle Leerzeichen durch _ zu ersetzen. Ich habe den folgenden Code verwendet:

FONT="DejaVu Sans Mono"
FONT_CODE=${FONT//[ ]/_}
echo $FONT_CODE 

Ich erwarte DejaVu_Sans_Mono als Ausgabe, erhalte jedoch die folgende Fehlermeldung:

x.sh: 2: Bad substitution

Ich bin nicht sicher, was ich tun muss, um Arbeit zu bekommen.

Antwort1

So habe ich mein Problem gelöst, nachdem ich Hinweise aus den Kommentaren erhalten hatte. Ich habe zsh statt sh verwendet und es hat bei mir funktioniert.

Zuerst musste ich zsh installieren:

sudo apt install zsh

Dann habe ich im Terminal zsh statt sh verwendet:

zsh x.sh

Ich habe keinen Fehler erhalten und dies ist die Ausgabe:

DejaVu_Sans_Mono

verwandte Informationen