Полезные команды Bash, которые вы могли не знать

Bash — это мощный интерпретатор командной строки, который используется в Unix-подобных системах, включая Найс ОС Linux. Некоторые команды известны большинству пользователей, однако существуют менее популярные, но весьма полезные команды, которые помогут вам работать более эффективно. В этой статье рассмотрены команды, которые могут сделать ваши сценарии и работу с терминалом проще и быстрее.


1. read: Получение ввода от пользователя

Команда read позволяет получить ввод от пользователя и сохранить его в переменной. Это удобно при создании интерактивных скриптов.


#!/usr/bin/env bash
echo "Как вас зовут?"
read name
echo "Ваше имя: ${name}!"

Можно использовать -p, чтобы задать вопрос напрямую перед вводом:


#!/usr/bin/env bash
read -p "Как вас зовут? " name
echo "Ваше имя: ${name}!"

2. mapfile: Чтение строк файла в массив

С помощью mapfile можно загрузить строки файла в массив. Это полезно при работе с большими файлами.


#!/usr/bin/env bash
mapfile file_var < file.txt

for i in "${file_var[@]}"; do
    echo "${i}"
done

Чтобы убрать пустые строки, используйте опцию -t:


#!/usr/bin/env bash
mapfile -t file_var < file.txt

for i in "${file_var[@]}"; do
    echo "${i}"
done

3. source: Импорт переменных из файла

Команда source загружает переменные и команды из файла в текущую сессию Bash.


#!/usr/bin/env bash
source config.sh
echo "Имя пользователя: $username"

Это позволяет загружать конфигурационные файлы прямо в текущую сессию оболочки.

4. pushd и popd: Управление стеком директорий

Эти команды работают со стеком директорий, что позволяет легко переключаться между ними.


#!/usr/bin/env bash
pushd /some/directory
# Работаем в этой директории
popd
# Возвращаемся в предыдущую

5. xargs: Обработка длинного вывода

xargs позволяет использовать вывод одной команды как аргументы для другой. Это особенно полезно при работе с большим количеством файлов.


#!/usr/bin/env bash
find . -name "*.txt" | xargs rm

Опция -n позволяет ограничить количество аргументов за один раз:


find . -name "*.txt" | xargs -n 5 rm

6. tee: Запись вывода в файл и вывод на экран

tee записывает вывод команды в файл, одновременно выводя его на экран.


#!/usr/bin/env bash
echo "Привет, Найс ОС!" | tee output.txt

Добавить данные в файл можно с помощью опции -a:


#!/usr/bin/env bash
echo "Дополнение" | tee -a output.txt

7. trap: Обработка сигналов

С помощью trap можно настроить обработчики для сигналов, таких как SIGINT или SIGTERM.


#!/usr/bin/env bash
trap "echo 'Прерывание!' && exit" SIGINT

Заключение

Команды Bash предоставляют мощные инструменты для работы с системой. Изучив их, вы сможете создавать более эффективные сценарии и лучше управлять задачами на вашем компьютере под управлением Найс ОС Linux.

Блог НАЙС ОС

Блог НАЙС ОС — это платформа для пользователей и разработчиков, где публикуются статьи, руководства и новости о мире Linux. Основное внимание уделено использованию, настройке и оптимизации ОС, а также обзору новых функций и технологий, доступных в дистрибутиве НАЙС ОС.