in einer Funktion wird ein Verzeichniseintrag (übergeben mittels $*) getestet auf:
- ist der Eintrag ein Verzeichnis?
- und entspricht er dem Muster: [0-9][0-9][0-9][0-9]_--_*.indexhtml oder [0-9][0-9][0-9][0-9]_--_*.indexhtm ?
Danach soll der Variable html_htm je nach Verzeichnisendung html bzw. htm übergeben werden.
Das Skript:
Code: Alles auswählen
if [ -d "$*" ] && \
( [[ "$*" == [0-9][0-9][0-9][0-9]_--_*.indexhtml ]] || \
[[ "$*" == [0-9][0-9][0-9][0-9]_--_*.indexhtm ]] )
then
html_htm=${*##[0-9][0-9][0-9][0-9]_--_*.index}
echo "html_htm: "$html_htm
# und weiter gehts...
fi
Meine Frage: Wie kann ich das quoten?
html_htm=${"*"##[0-9][0-9][0-9][0-9]_--_*.index} ergibt: Falsche Variablenersetzung.
Umformulierung funktioniert auch nicht
html_htm=${*\[0-9][0-9][0-9][0-9]_--_*.index} ergibt: Falsche Variablenersetzung.
html_htm=${*#*.index} gibt 1. Teil vor Leerzeichen und html bzw htm aus
Welche Möglichkeiten habe ich noch außer die Variablenzuweisung in die if-Abfrage einzubauen?
Vielen Dank vorab für Eure Mühe
k2