Bash автоматизация за бърз достъп до WordPress проекти

Bash автоматизация за бърз достъп до WordPress проекти

Ако управлявате множество WordPress инсталации на един сървър, вероятно ви е писнало от постоянното изписване на дълги пътища като cd /var/www/wordpress-site-name/wp-content/plugins. В тази статия ще споделя един прост, но изключително ефективен метод за светкавичен достъп до вашите проекти чрез Bash функция и интелигентно автодопълване (autocomplete).

Проблемът

Когато работите ежедневно с 5, 10 или повече сайта, навигацията се превръща в "когнитивен товар". Дори и да използвате историята на командите, пак трябва да филтрирате резултатите. Целта ни е да стигнем до директорията на плъгините на конкретен сайт само с една кратка команда.

Решението: Скриптът wps

Този скрипт прави две неща:

  1. Функция wps: Прехвърля ви директно в папката с плъгини на избрания сайт.
  2. Autocomplete: Позволява ви да натиснете Tab, за да видите списък с всички налични сайтове, без да ги помните наизуст.

Пълният код

Добавете следния код във вашия ~/.bashrc или ~/.zshrc файл:

# === WordPress Sites Quick Access ===

# 1. Дефиниране на основната директория
# Променете този път според вашата структура (напр. /var/www)
WPS_BASE="/root/saitove"

# 2. Основна функция за навигация
wps() {
    local SITE="$1"

    # Проверка за подаден аргумент
    if [[ -z "$SITE" ]]; then
        echo "Използване: wps <име-на-сайт>"
        return 1
    fi

    # Път до директорията (базиран на конвенцията wordpress-име)
    local TARGET_DIR="$WPS_BASE/wordpress-$SITE/wp-content/plugins"

    if [[ -d "$TARGET_DIR" ]]; then
        cd "$TARGET_DIR" || return
        echo "Намирате се в: $(pwd)"
    else
        echo "Грешка: Сайтът или директорията не съществуват: $TARGET_DIR"
        return 1
    fi
}

# 3. Функция за автоматично допълване (Autocomplete)
_wps_autocomplete() {
    local cur="${COMP_WORDS[COMP_CWORD]}"
    
    # Проверка дали базата съществува
    if [[ ! -d "$WPS_BASE" ]]; then
        return 0
    fi

    # Генериране на списък чрез премахване на префикса "wordpress-"
    local sites=$(ls "$WPS_BASE" 2>/dev/null | grep "^wordpress-" | sed 's/^wordpress-//')
    
    COMPREPLY=( $(compgen -W "$sites" -- "$cur") )
}

# Свързване на функцията за допълване с командата wps
complete -F _wps_autocomplete wps

# === END WordPress Quick Access ===

Как работи системата?

1. Конвенция над конфигурацията

Скриптът разчита на това, че вашите папки са именувани по модела wordpress-име. Това е добра практика, която поддържа сървъра подреден.

2. Динамично допълване

Вместо да описвате всеки сайт ръчно в скрипта, функцията _wps_autocomplete сканира директорията $WPS_BASE в реално време.

  • Ако добавите нова папка wordpress-shop, тя веднага ще стане достъпна през wps sho [TAB].

3. Обработка на грешки

Скриптът проверява дали директорията съществува, преди да се опита да влезе в нея, което предотвратява досадни съобщения за грешка от самата операционна система.


Инсталация в 3 стъпки

Отворете конфигурационния файл на вашия терминал:

nano ~/.bashrc

    Поставете кода в края на файла и запазете (Ctrl+O, Enter, Ctrl+X).

    Презаредете конфигурацията:

    source ~/.bashrc

    Защо това е полезно?

    • Скорост: Намалявате времето за навигация с около 80%.
    • Фокус: Не прекъсвате мисловния си процес, за да си спомняте точното име на папката.
    • Гъвкавост: Можете лесно да промените пътя wp-content/plugins на wp-content/themes или просто в основната папка на сайта, ако предпочитате.

    Съвет: Ако работите по проекти, които не са WordPress, можете да адаптирате скрипта, като просто промените префикса и целевата директория. Автоматизацията е най-добрият приятел на програмиста!

    Федя Серафиев

    Федя Серафиев

    Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

    💝 Благодарим ви, че прочетохте тази статия! Ако сте намерили информацията за полезна, можете да подкрепите нашия труд със символична сума:
    💝 Благодарим ви за подкрепата!

    Последвайте ни във Facebook за още IT съвети и новини

    Последвайте ни

    Вашият коментар

    Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *


    Колко е 8 - 3 ? (въведете числото)