How to Use Brace Expansion in Linux’s Bash Shell

May 12, 2025
Linux,
Fatmawati Achmad Zaenuri / Shutterstock

Розширення дужки - це корисна техніка для створення списків струн, які можуть бути використані в скриптах та псевдонімах та на командний рядок Linux. Заощаджуйте час і уникнути помилок, набравши менше.

Розширення

Перед башкою виконує команду У вікні терміналу або рядок у скрипті він перевіряє, чи потрібно виконувати будь-які заміни на команду. Імена змінних замінюються їхніми значеннями, псевдоніми замінюються командами, які вони скорочуються, і будь-яка експансія виконується. Розширення дужки - це одна форма розширення, яка підтримується bash.

Розширення фігурності доступна в сучасних оболонках, але це може бути відсутні з деяких старих оболонок. Якщо ви збираєтеся використовувати розширення смуги в скриптах, переконайтеся, що ви закликаєте оболонку, яка підтримує розширення підставки, наприклад, Bash:

Ми будемо використовувати Bash для наших прикладів.

Генераційні списки рядків можуть здаватися більш новинною, ніж користь, але це пропонує деяку функціональність, яка може заощадити час та натискання клавіш. Часто вона може забезпечити просте та елегантний вирішення проблеми або вимоги.

Прості розширення

Розширення фіксатора міститься між парою підтяжків "{}". Це може бути список елементів, розділених комами або специфікація діапазону. Простір не допускається всередині дужок, якщо ви не загорнуте рядок у лапках " " . "

Для списку, розділеного комами, процес розширення здійснює кожен елемент у свою чергу, і передає його до командної команди. У цьому прикладі це ехо що просто друкує їх у вікні терміналу . Зауважте, що коми ігноруються.

 echo {один, два, три, чотири} 

Список може бути словами або цифрами.

 echo {1,2,3,4} 

Порядок елементів списку абсолютно довільний.

 echo (4,2,3,1) 

Діапазон розширення має початок і кінцевий символ, пов'язаний з двома періодами " .. - Без будь-якого пробілу. Всі елементи відсутніх списків надаються автоматично розширенням, щоб створити весь діапазон від запуску символу для кінцевого символу.

Це друкує цифри від 1 до 10.

 echo {1..10} 

Нумерація є довільною. Це не потрібно починати з одного.

 echo {3..12} 

Діапазони можна вказати, щоб вони бігли назад. Це буде створювати список від п'яти до одного.

 echo {5..1} 

Діапазони можуть включати негативні числа.

 echo {4 ..- 4} 

Як ми раніше вказали, діапазон має початок і кінець характер . Це не повинно бути числом. Це може бути лист.

 echo {q..v} 

Букви також можуть запустити назад.

 echo {f..a} 

Використовуючи розширення дужки з петлями

Ви можете використовувати розширення дуги з діапазонами в петель у скриптах.

 Для i в {3..7}
робити
   echo $ i
зроблено 

Діапазони розширення дужки дозволяють використовувати символи як змінну циклу.

 для i в {m..q}
робити
   echo $ i
зроблено 

Петлі, як правило, використовуються в скриптах, але нема чого зупинити вас від набору їх у командну лінію, щоб побачити, що станеться.

 для i в {3..7}; робити echo $ i; зроблено 

 для i в {m..q}; робити echo $ i; зроблено 

Об'єднавши та гніздування

Два сусідніх розширень не діють самостійно один за одним. Вони взаємодіють. Кожен елемент у першій експансії виступає кожним елементом у другому розширенні.

 echo {q..v} {1..3} 

Розширення також можуть бути вкладені. Вкладене розширення буде діяти на елемент, який негайно передує його.

 echo {part-1, part-2 {a, b, c, d}, part-3} 

Ви також можете гніздити розширення, створивши список розмежування комами.

 echo {{5..0}, {1..5}} 

Преамбула і postscript

Ви можете помістити текст до і після розширення дужки, щоб мати цей текст, включений до результатів розширення. Текст, поставлений перед розширенням, називається преамбулою, тоді як текст, розміщений за розширенням фіксації, називається PostScript.

Ця команда використовує преамбулу.

 Ехо Глава {1..3} 

Цей приклад використовує PostScript:

 echo {вміст, папір, білбіографія} .md 

І ця команда використовує обидва.

 Echo Chapter- {1..4} .md 

Розширення імен і довідників файлів

Як ви, напевно, здогадалися зараз, одним з основних використання розширень Brace є створення імен файлів та каталогів, які можуть бути передані іншим командам. Ми використовували ехо Як зручний спосіб побачити саме те, що відбувається, коли спрацьовує розширення. Ви можете замінити будь-яку команду, яка приймає імена файлів або імена каталогів як вхідні та використовуйте розширення скот.

Швидко Створіть деякі файли , використання дотик :

 сенсорний файл - {1..4} .txt 
 LS * .txt 

Якщо у вас є багато файлів з тією ж базовою іменем, але різні розширення файлів, і ви хочете виконати операцію на підмножині з них, розширення дужки можуть допомогти. Тут ми стикуємо підмножину файлів, які мають "програму", як база імену в ZIP-файл під назвою "Source-Code.Zip".

Довідники з розробки містять багато файлів, які матимуть однакову назву бази, як ваша основна програма. Зазвичай ви не хочете створювати резервні копії або поширювати файли, такі як ".o" Файли об'єктів. Це акуратний спосіб включити лише типи файлів.

 програма вихідного коду Zip {.c, .h, .css} 

Ця команда зробить копію файлу та додавання ".bak" до нього, створюючи резервну копію оригінального файлу. Цікава точка дозначення полягає в тому, що розширення кріплення містить список, що розділений комами, але перший елемент порожній. Якби ми не включили кому, розширення не відбудеться.

 cp brace / new / prog-1.c {, bak} 
 ls brace / new / prog-1.c.bak 

Щоб виконати деякі дії на двох файлах у різних каталогах, ми можемо використовувати розширення дуги на шляху до файлів.

У цьому прикладі каталог "Brace" містить дві підкаталоги, називаються "новими", а кожен називається "старий". Вони містять різні варіанти одного і того ж набору файлів вихідного коду. Ми будемо використовувати різко Програма бачити відмінності між двома версіями "PROG-1.C".

 diff brace / {new, old} /prog-1.c 

Якщо у вас є стандартний скелет каталогів, який вам потрібно створити на початку проекту, ви можете швидко створити їх, використовуючи розширення дуги. Точний mkdir -п (Батько) створює будь-які відсутні батьківські каталоги Коли створюється каталог дитини.

 mkdir -p {Джерело, побудова, людина, допомога {/ pages, / yelp, / зображення}} 
 Дерево 

Ви можете використовувати розширення дуги вигин до Завантажте кілька файлів .

У цій команді ми збираємося завантажувати файли з двох каталогів, які називаються "test1" та "test2". Кожен каталог утримує два файли під назвою "Картина1" та "Картина2". "

 WGet https://www.url-of-your-choice.com/test{1,2}/picture {001,002.jpg

Лістинг файли показує вам файли, які були витягнуті та як вигин Перейменуйте файли, щоб уникнути назви зіткнень з існуючими файлами.

 ls picture *. * 

Обіймати фігуру

Здається, що розширення дуги є ще одним з Найкращі таємниці Linux . Багато людей кажуть мені, що вони ніколи не чули про розширення дужки, тоді як інші повідомить мені, що це одна з улюблених трюків командного рядка.

Дайте йому спробувати, і це просто може знайти свій шлях до вашого набору командного рядка до трюків.


Linux, - Найпопулярніші статті

Docker for Beginners: Everything You Need to Know

Linux, Jun 15, 2025

докер створює пакетні додатки звані контейнери. Кожен контейнер забезпечує ізольоване сер�..


How to Update Arch Linux

Linux, Jul 30, 2025

Проект Ubuntu Має час, щоб оновити систему Arch Linux? Незалежно від того, чи ви на чисту арку а..


Linux виповнюється 30: Як хобі завоював світ

Linux, Sep 17, 2025

Ларрі Евінг і GIMP На 17 вересня 1991 року , Linus torvalds випустив ядро ​​Linux (версія 0.01) впе..


Які недоліки переходу на Linux?

Linux, Oct 27, 2025

Ларрі Евінг і GIMP Linux євангелісти (як я), швидкі, щоб вказати на багато переваг перемикан..


Як запустити Android програми та додатки на Linux

Linux, Oct 19, 2025

quietbits / Shutterstock.com Завжди хотіли запустити Android програми на Linux, але не хоче морочитися з н�..


Ubuntu 21.10 прибуває з Customized GNOME Desktop 40

Linux, Oct 14, 2025

Ubuntu Якщо ви unbuntu, або хтось, хто думає про те, щоб дати йому спробу, сьогодні є хороший день. Canoni..


Чи можете ви встановити Linux на M1 Apple, Silicon Mac?

Linux, Nov 12, 2024

Не кожен купує Mac, щоб запустити MacOS. Погана новина полягає в тому, що станом на листопад 2021 року, нативн..


Як перелічити змінні середовища на Linux

Linux, Oct 31, 2025

У Linux змінні середовища мають важливі значення та налаштування. Сценарії, програми та оболонки читають ці..


Категорії