Здравствуйте! Я вот подумал, что мне в Archlinux не нравится. Не нашел ничего, кроме синтаксиса pacman/yay.
Ну какой человек подумал, что пакеты из репо должны устанавливаться командой Sync (синхронизация), из архивов – Update (обновление), а кеш – это Query (очередь)?
И решил я сделать свою обертку. Она работает, выполняет все функции, которые в нее заложены. Потом, наверное, еще фичами обрастет.
#!/bin/bash
# Archpkg v0.1 -- zypper-подобная обертка над Yay (yet another yaourt)
# Author: Lev Zagatov
# Uses: yay
case $1 in
"install" ) yay -S "${@:2}" ;;
'in' ) yay -S "${@:2}" ;;
#===========================================================================================
"install-src" ) sudo pacman -U "${@:2}" ;;
'is' ) sudo pacman -U "${@:2}" ;;
#===========================================================================================
"remove" ) yay -R "${@:2}" ;;
'rm' ) yay -R "${@:2}" ;;
#===========================================================================================
"search" ) yay -Sys "${@:2}" ;;
'sr' ) yay -Sys "${@:2}" ;;
#===========================================================================================
"search-cache" ) yay -Qs "${@:2}" ;;
'sc' ) yay -Qs "${@:2}" ;;
#===========================================================================================
"update" ) yay -Sy ;;
'up' ) yay -Sy ;;
#===========================================================================================
"upgrade" ) yay -Syu ;;
'ug' ) yay -Syu ;;
#===========================================================================================
"upgrade-pkg" ) yay -Sy "${@:2}" ;;
'uk' ) yay -Sy "${@:2}" ;;
#===========================================================================================
"pacmancmd" ) sudo pacman "${@:2}" ;;
"pc" ) sudo pacman "${@:2}" ;;
#===========================================================================================
"yaycmd" ) yay "${@:2}" ;;
'yc' ) yay "${@:2}" ;;
#===========================================================================================
"help" ) echo "Помощь по $0"
echo "===================================================="
echo "Команда | Краткая | Описание"
echo "install | in | Устанавливает пакет(ы)"
echo "install-src | is | Устанавливает из tar.zst"
echo "remove | rm | Удаляет пакет(ы)"
echo "search | sr | Ищет пакет(ы) в репозиториях"
echo "search-cache | sc | Ищет в кеше"
echo "update | up | Обновляет репозитории"
echo "upgrade | ug | Обновляет систему"
echo "upgradepkg | uk | Обновляет пакет(ы)"
echo "help | he | Показывает эту справку" ;;
#===========================================================================================
"he" ) echo "Помощь по $0"
echo "===================================================="
echo "Команда | Краткая | Описание"
echo "install | in | Устанавливает пакет(ы)"
echo "install-src | is | Устанавливает из tar.zst"
echo "remove | rm | Удаляет пакет(ы)"
echo "search | sr | Ищет пакет(ы) в репозиториях"
echo "search-cache | sc | Ищет в кеше"
echo "update | up | Обновляет репозитории"
echo "upgrade | ug | Обновляет систему"
echo "upgrade-pkg | uk | Обновляет пакет(ы)"
echo "help | he | Показывает эту справку" ;;
#===========================================================================================
'' ) echo "Ошибка: команды не найдены"
echo "Выполните $0 help для получения помощи" ;;
#===========================================================================================
* ) echo "Ошибка: команда $1 непонятна"
echo "Выполните $0 help для получения помощи" ;;
esac
Управление происходит с помощью двух видов команд – полных и кратких. Краткие команды всегда содержат две буквы, но чаще выглядят нелогично. Полные команды больше напоминают обычные английские слова. Также можно запустить команду yay или pacman с помощью ./pkg yaycmd (yc) -Arg
или ./pkg pacmancmd (pc) -Arg
соответственно, но так как это нужно непонятно кому, в хелпе возможность не прописана. Делал полдня в качестве эксперимента на тему слишком аккуратного кода, а также как удобную мне штуковину.
Поставили бы её Вы?