Hier habe ich auf ein Ersuchen um Hilfe, die ich letzte Woche erhalten und bisher habe ich noch keine Zeit gehabt, zu reagieren zu reagieren.
Ich bin für Beratung in einem Bash-Skript, das eine Reihe von Verzeichnissen verarbeitet und ein anderer vorübergehend in / tmp gefragt.
Ohne auf Einzelheiten des Falles, zum automatischen Generieren von Listen oder Arrays Verzeichnis ist praktisch, um Expansion stemmen.
Dies ist ein spezieller Mechanismus, mit dem zu bash können Sie beliebige Listen mit Namen von Dateien oder Verzeichnissen zu generieren.
In diesem Sinne ist es ähnlich wie Pfadnamenserweiterung, obwohl diese auf das Vorhandensein von Dateien und / oder das betreffende Verzeichnis gebunden ist, während mit Kohle Ausbau dieser Grenzwert nicht zu erwarten.
Die Syntax ist sehr einfach und Klammernerweiterung erwartet, dass sie in Klammern Zeichenfolge, die in der gleichen Position innerhalb des Haupt-String ersetzt werden aufgeführt werden, wodurch Varianten, die wir brauchen. Wie immer, ist ein Beispiel sagt mehr als tausend Erklärungen:
zu {b, c, d}, und
expandiert nach:
- abe
- As
- Hades
Die Strebe Expansion hat Priorität vor allen anderen Bedürfnissen und Expansion, die die Öffnung und Schließung Hosenträger, und mindestens ein Trennzeichen (Komma).
Hier ist die fehlende Zeile Code in das Skript oben:
/bin/mkdir /tmp/{dir_main,dir_all,dir_tmp_1,dir_tmp_2,dir_tmp_3}







