Расширение скобок {…} – одна из самых малоиспользуемых, но замечательных функций оболочки в Linux.
Вы можете использовать ее для вывода последовательностей цифр и букв.
Добавьте два целых числа или буквы, разделенные двумя точками в фигурных скобках, и увидите волшебство.
В самом простом виде, например, вот это:
Можете угадать вывод?
1 2 3 4 5 6 7 8 9 10
Последовательность вывода выводится в одной строке с пробелом между ними.
Позвольте мне привести еще несколько примеров расширения данной практики, чтобы вы лучше поняли его работу.
Примеры использования расширения
Допустим, вы хотите получить обратную последовательность чисел от 7 до 1.
Вы можете добавлять нули:
Вы можете использовать расширение скобок в виде {x..y..z} для генерации значений от x до y с увеличением на z.
Допустим, вам нужна последовательность четных чисел до числа 15.
Или получить нечетную последовательность чисел:
Вы можете идти любыми постепенными шагами:
Он также может принимать отрицательные числа:
Вы можете двигаться и в обратном направлении:
Или переходите к инкрементным или декрементным шагам:
Таким же образом можно использовать строчные буквы:
Практическое использование расширения скобок
До сих пор я только показывал примеры создания последовательностей с помощью расширения скобок в оболочке bash.
Но это не практические примеры.
Вы можете применить его на практике.
Позвольте мне поделиться несколькими такими примерами.
Создание нескольких файлов с похожими именами
Создание файлов с определенным шаблоном имени:
Создание резервной копии файла
Когда вы собираетесь редактировать файл конфигурации, рекомендуется создать резервную копию.
Обычно к исходному имени файла добавляется расширение .bak.
Это означает, что это резервная копия данного имени файла.
Это здорово, но давайте воспользуемся расширением скобок:
Опция -p команды cp сохраняет свойства файла, такие как право собственности, временные метки и т.д.
Использование нескольких скобок
Вы можете использовать несколько скобок для создания файлов с одинаковыми именами и разными расширениями.
Вот один пример использования нескольких скобок.
Использование расширения скобок в пути
Допустим, у вас есть похожая структура каталогов с небольшими изменениями.
Здесь может помочь расширение скобок.
Приведенная выше команда эквивалентна:
mv project/new/dir/file project/old/dir/file
см. также:
- 🖧 Как узнать операционную систему с помощью команды Ping
- 🐧 Как составить список и управлять атрибутами файлов на Linux
- ⚓ Bash скрипт для проверки публичных репозиториев Github и уведомления о них
- 🔐 Как управлять большими списками паролей для пентеста
- ⚙️ Настройка CentOS/Rocky/Oracle Linux в качестве маршрутизатора Linux
- 🦊 Современное состояние безопасности CI/CD и как предотвратить распространенные ошибки
- ✔️ Cariddi – инструмент Баг хантинга коненчых точек
- 🐧 Как перехватывать трафик на Linux
- 🐳 Как очистить логи запущенных контейнеров Docker