Консоль. Аліаси. Перевизначення вбудованих функцій.
Основи роботи з Linux. -> Аліаси.
BASH Аліаси.
Часто виникає потреба у консолі створити власну команду.
Напимер для того, щоб запустити послідовно ряд команд, що повторюються.
Наприклад, команду, яка додає файли до індексу git і комітить зміни на сервер.
Така операція проводиться досить часто і складається з трьох кроків.
-
додавання файлу до індексу для відстеження;
-
Здійснення коміту;
-
Завантаження змін на віддалений сервер.
Створюємо скрипт для цього autocomit.sh.
git add --all
git commit -m 'auto commit'
git push
Додамо права виконання.
chmod +x./autocomit.sh
Тепер щоб створити свою команду, можна скористатися або, визначивши його у файлі, який виконуватиметься щоразу коли ви відкриваєте термінальну сесію.
Одним із таких файлів є .bashrc, він запускається першим.
Додамо в нього наступний або назвемо його agit.
alias agit='./path/to/script/autocomit.sh'
Тепер під час перезавантаження терміналу ця команда стане доступною.
Основи роботи з Linux. -> Активуємо віртуальне оточення Python.
Bash та віртуальне оточення Python.
Інтерпретатор BASH допомагає автоматизувати багато рутинних дій.
Наприклад, активування віртуального оточення.
Ця операція відбувається досить часто і іноді розробник забуває про неї.
Зробимо так, щоб процес активації відбувався без нашої участі.
Створимо bash скрипт auto.sh із командою активації віртуального оточення.
source ./venv/bin/activate
При цьому з огляду на те, що папка віртуального оточення вже створена.
Додамо право виконання.
chmod +x auto.sh
Тепер для того, щоб при зміні директорії автоматично запускався наш скрипт необхідно переписати функцію CD.
Зробимо це у файлі .bashrc
cd () {
builtin cd ${1:+"$@"}
if [ -f "auto.sh" ]
then
. ./auto.sh
fi
}
У цій функції ми насамперед викликаємо оригінальну (вбудовану) функцію cd.
builtin cd ${1:+"$@"}
Потім перевіряємо існування файлу і якщо він є запускаємо його.
if [ -f "env.sh" ]
then
. ./auto.sh
fi