Консоль. Аліаси. Перевизначення вбудованих функцій.

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