Apt-ng -- wrapper над APT с короткими именами

Автор tongubin, 22 сентября 2020, 22:10:07

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

tongubin

Здравствуйте. Написал на коленке этот скриптик.

Репозиторий на гитхабе

Есть короткие команды (например, apt-ng in вместо apt-ng install). Также  совмещены некоторые действия, например apt-ng upgrade (ug) делает sudo apt-get update && sudo apt-get upgrade.

Если есть баги и предложения, говорите. Делаю как учебный скриптик, что-то типа хелловорлда.

Sources
#!/bin/bash
# Apt-ng v0.1 -- the wrapper over APT
# Author: Lev Zagatov, License: GNU GPL v3

KEY=`echo "$1" | tr '[:upper:]' '[:lower:]'`
VERSION=0.1
ARGS="${@:2}"
help(){
    echo "Apt-ng ($0) v$VERSION"
     echo "===================================================="
     cat <<EOF
Key              | Short key | Sense
----------------:|-----------|:---------------------
install          | is/in     | Installs package(s) from repo
install-deb      | id        | Installs from DEB package
remove           | rm        | Removes package(s)
clean            | cl        | Removes 'orphans' and old DEB packages from cache
search           | sr        | Searches in repo
search-installed | si        | Searches in installed packages
show/info        | sh/if     | Shows info about package
update           | up        | Updates cache
upgrade          | ug        | Upgrades system
version          | vr        | Shows version of Apt-ng (/usr/bin/apt-ng)
help             | he        | Shows help
EOF
}

case $KEY in
    'install' | 'is' | 'in' ) sudo apt-get install $ARGS;;
    'install-deb' | 'id' ) sudo dpkg -i $ARGS;;
    'remove' | 'rm' ) sudo apt-get remove $ARGS 2>/dev/null;;
    'clean'  | 'cl' ) sudo apt-get autoremove; sudo apt-get clean;;
    'search' | 'se' ) apt-cache search $ARGS;;
    'search-installed' | 'si' ) apt-cache search $ARGS 2>/dev/null | grep '\[installed\]';;
    'show' | 'info' | 'sh' | 'if' ) apt-cache show $ARGS;;
    'update' | 'up' ) sudo apt-get update;;
    'upgrade' | 'ug' )
        if [[ $ARGS ]]; then
            sudo apt-get update && sudo apt-get upgrade &&\
            sudo apt-get install $ARGS
        else
            sudo apt-get update && sudo apt-get upgrade
        fi
    ;;
    'dpkgcmd' | 'dc' ) sudo dpkg $ARGS;;
    'aptcmd' | 'ac' ) sudo apt $ARGS;;
    'version' | 've' ) echo $VERSION;;
    'help' | 'he' ) help;;
    '' )  echo "Error: no keys found"; help;;
    * ) 
        echo -e "Error: $0 $1 ($0 $KEY): not found, trying to execute apt with that key...\n===========================\n"
        sudo apt $@ && echo -e '\n===========================\n\nSuccess!' ||\
        echo -e "\n===========================\n\nError from apt received."
        help;;
esac
[свернуть]

endru

Объясните суть скрипта? Если тоже самое можно сделать без скриптов - например алиасом...

tongubin

[
Цитата: endru от 23 сентября 2020, 05:12:11
Объясните суть скрипта? Если тоже самое можно сделать без скриптов - например алиасом...

Цитата: tongubin от 22 сентября 2020, 22:10:07Есть короткие команды (например, apt-ng in вместо apt-ng install). Также  совмещены некоторые действия, например apt-ng upgrade (ug) делает sudo apt-get update && sudo apt-get upgrade.

Делаю как учебный скриптик, что-то типа хелловорлда.

endru

#3
Цитата: tongubin от 23 сентября 2020, 16:06:41Также  совмещены некоторые действия, например apt-ng upgrade (ug) делает sudo apt-get update && sudo apt-get upgrade.
а вы ман к алиасам читали? там можно не только это сделать.

Цитата: tongubin от 23 сентября 2020, 16:06:41Делаю как учебный скриптик, что-то типа хелловорлда.
Скрипты полезны для автоматизации процессов - а не облегчения набора команд. Придумайте скрипт который будет настраивать определенные пакеты/сервисы/ и тд без ввода команд. bash позволяет работать с интерфейсом и пунктами меню - смотри в эту сторону, реально людям будет польза. А в таком виде как есть сейчас - это пока ужасно и бесполезно...