Полезные команды 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.