Basierend auf Mark Manns ausgewählter Antwort konnte ich dieses Beispiel weiter ableiten, das hervorragend funktioniert:
$ eval echo\ category_.properties\{,.bak\}\; category_17.properties category_17.properties.bak category_32.properties category_32.properties.bak category_33.properties category_33.properties.bak
Was angezeigt wird, ist, wenn Sie mehrere Klammererweiterungen in einer Zeile verwenden, hätte Marks Originalbeispiel jede Variation einzeln gedruckt. Stattdessen wollte ich mit seiner Antwort mehrere Dateien verschieben / umbenennen. Um sicherzustellen, dass die Ausgabe mit dem Format übereinstimmt, das mv
normalerweise erwartet wird ( mv oldfilename newfilename
), bin ich vor der zweiten Erweiterung der Klammer geflüchtet, sodass sie erst ausgewertet wird, nachdem der ursprüngliche eval
Befehl ausgeführt wurde.
Da die obige Ausgabe wie erwartet erschien, konnte ich den folgenden Befehl ausführen:
$ eval mv\ category_.properties\{,.bak\}\; $ ls category_17.properties.bak category_32.properties.bak category_33.properties.bak
Vielen Dank an Mark für seine originelle Antwort. Bitte stimmen Sie seine Antwort ab, wenn Ihnen gefällt, was mir die Antwort erlaubt hat :-)