ubuntuusers.de

Leerzeichen automatisch maskieren lassen

Status: Gelöst | Ubuntu-Version: Ubuntu 9.10 (Karmic Koala)
Antworten |

losingYou

Avatar von losingYou

Anmeldungsdatum:
10. Oktober 2009

Beiträge: 372

Hiho!

Ich hab zwar schon die Forensuche bemüht, aber nicht wirklich brauchbares gefunden, deshalb meine Frage...

Zur Erklärung:

Ich hab ein Script das via Zenity einen Namen aufnimmt, und diesen Namen dann einer *.mp3 gibt die aus dem bearbeiten eines films von ffmpeg hervorgeht.

1
2
NAME=$(zenity --entry --text "Geben Sie einen Namen ein." --title "Name...")
ffmpeg -i /tmp/FlashsuzEnbG6 -vn $HOME/Musik/$NAME.mp3

*nur ein Beispiel*

Wenn der Name keine Leerzeichen hat is alles gut, aber wehe es sind welche drin...

Weiß jemand wie ich die automatisch maskieren kann?

lg, losingYou

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2510

Wenn du Anführungszeichen um den Variablennamen herum setzt, dann bleiben u.a. Leerzeichen erhalten:

1
2
NAME=$(zenity --entry --text "Geben Sie einen Namen ein." --title "Name...")
ffmpeg -i /tmp/FlashsuzEnbG6 -vn $HOME/Musik/"$NAME".mp3

Ich weiß, das ist ein bisschen kontra-intuitiv, wenn man andere Sprachen gewöhnt ist. Die Anführungszeichen starten in Shellskripts keinen String, so wie man sich das vielleicht anfangs denken würde. Mehr dazu gibt's zum Beispiel hier oder bei der Suchmaschine deiner Wahl:

http://www.gnu.org/software/bash/manual/bashref.html#Quoting

Vermutlich unbewusst hast du das auch beim Zenity-Aufruf schon benutzt. Das ist da genau derselbe Mechanismus. ☺

losingYou

(Themenstarter)
Avatar von losingYou

Anmeldungsdatum:
10. Oktober 2009

Beiträge: 372

@Vain: Supi, danke! Anfangs hätte ich es probiert den ganzen Pfad in " zu hüllen, aber da hieß die Datei dann wirklich $NAME.mp3 😀

Danke!

lg, losingYou

Antworten |