Здравствуйте! Я вот подумал, что мне в 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}" ;;
#===========================================================================================
"installsrc" ) 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}" ;;
#===========================================================================================
"searchcache" ) yay -Qs "${@:2}" ;;
'sc' ) yay -Qs "${@:2}" ;;
#===========================================================================================
"update" ) yay -Sy ;;
'up' ) yay -Sy ;;
#===========================================================================================
"upgrade" ) yay -Syu ;;
'ug' ) yay -Syu ;;
#===========================================================================================
"upgradepkg" ) 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 "installsrc | is | Устанавливает из tar.zst"
echo "remove | rm | Удаляет пакет(ы)"
echo "search | sr | Ищет пакет(ы) в репозиториях"
echo "searchcache | sc | Ищет в кеше"
echo "update | up | Обновляет репозитории"
echo "upgrade | ug | Обновляет систему"
echo "upgradepkg | uk | Обновляет пакет(ы)"
echo "help | he | Показывает эту справку" ;;
#===========================================================================================
"he" ) echo "Помощь по $0"
echo "===================================================="
echo "Команда | Краткая | Описание"
echo "install | in | Устанавливает пакет(ы)"
echo "installsrc | is | Устанавливает из tar.zst"
echo "remove | rm | Удаляет пакет(ы)"
echo "search | sr | Ищет пакет(ы) в репозиториях"
echo "searchcache | sc | Ищет в кеше"
echo "update | up | Обновляет репозитории"
echo "upgrade | ug | Обновляет систему"
echo "upgradepkg | uk | Обновляет пакет(ы)"
echo "help | he | Показывает эту справку" ;;
#===========================================================================================
'' ) echo "Ошибка: команды не найдены"
echo "Выполните $0 help для получения помощи" ;;
#===========================================================================================
* ) echo "Ошибка: команда $1 непонятна"
echo "Выполните $0 help для получения помощи" ;;

esac


Управление происходит с помощью двух видов команд – полных и кратких. Краткие команды всегда содержат две буквы, но чаще выглядят нелогично. Полные команды больше напоминают обычные английские слова. Также можно запустить команду yay или pacman с помощью ./pkg yaycmd (yc) -Arg или ./pkg pacmancmd (pc) -Arg соответственно, но так как это нужно непонятно кому, в хелпе возможность не прописана. Делал полдня в качестве эксперимента на тему слишком аккуратного кода, а также как удобную мне штуковину.


Поставили бы её Вы?









 , , ,






URL записи