-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall_apx.sh
More file actions
executable file
·127 lines (112 loc) · 12.2 KB
/
Copy pathinstall_apx.sh
File metadata and controls
executable file
·127 lines (112 loc) · 12.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#!/bin/bash
ALIAS_CONTENT='
# -------- Алиас для apx --------
# Помощь на русском
apx-ru() {
echo
echo -e "\033[1;33mapx - \033[1;37mМенеджер пакетов с интерфейсом командной строки на основе apt\033[0m"
echo -e "\033[1;32mИспользование:\033[0m apx {команда} [аргументы]"
echo
echo -e "\033[1;37mДоступные команды:\033[0m"
echo
printf "\033[38;5;240m┌─────────────┬───────────────────────────────────────────┬──────────────────────────────────────┐\033[0m\n"
printf "\033[38;5;240m│ \033[1;33mКоманда apx\033[0m \033[38;5;240m│ \033[1;37mОписание\033[0m \033[38;5;240m│ \033[1;38;5;240mКоманда apt\033[0m \033[38;5;240m│\033[0m\n"
printf "\033[38;5;240m├─────────────┼───────────────────────────────────────────┼──────────────────────────────────────┤\033[0m\n"
printf "\033[38;5;240m| \033[1;33mapx i\033[0m \033[38;5;240m| \033[1;37mУстановка пакета \033[38;5;240m| \033[38;5;240msudo apt install <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx r\033[0m \033[38;5;240m| \033[1;37mУдаление пакета \033[38;5;240m| \033[38;5;240msudo apt remove <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx rei\033[0m \033[38;5;240m| \033[1;37mПереустановка пакета \033[38;5;240m| \033[38;5;240msudo apt reinstall <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx d\033[0m \033[38;5;240m| \033[1;37mЗагрузка пакета \033[38;5;240m| \033[38;5;240msudo apt download <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx p\033[0m \033[38;5;240m| \033[1;37mПолное удаление пакета \033[38;5;240m| \033[38;5;240msudo apt purge <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx upd\033[0m \033[38;5;240m| \033[1;37mОбновление списка пакетов \033[38;5;240m| \033[38;5;240msudo apt update\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx upg\033[0m \033[38;5;240m| \033[1;37mОбновление установленных пакетов \033[38;5;240m| \033[38;5;240msudo apt upgrade\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx fupg\033[0m \033[38;5;240m| \033[1;37mПолное обновление \033[38;5;240m| \033[38;5;240msudo apt full-upgrade\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx a\033[0m \033[38;5;240m| \033[1;37mУдаление неиспользуемых пакетов \033[38;5;240m| \033[38;5;240msudo apt autoremove\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx se\033[0m \033[38;5;240m| \033[1;37mПоиск пакетов \033[38;5;240m| \033[38;5;240mapt search <search term>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx l\033[0m \033[38;5;240m| \033[1;37mСписок пакетов \033[38;5;240m| \033[38;5;240mapt list [<search term>]\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx sh\033[0m \033[38;5;240m| \033[1;37mОтображение информации о пакете \033[38;5;240m| \033[38;5;240mapt show <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx c\033[0m \033[38;5;240m| \033[1;37mОчистка кэша APT \033[38;5;240m| \033[38;5;240msudo apt clean\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx check\033[0m \033[38;5;240m| \033[1;37mПроверка состояния установленных пакетов \033[38;5;240m| \033[38;5;240msudo apt check\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx hold\033[0m \033[38;5;240m| \033[1;37mУдержание пакета \033[38;5;240m| \033[38;5;240msudo apt-mark hold <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx unhold\033[0m \033[38;5;240m| \033[1;37mСнятие удержания с пакета \033[38;5;240m| \033[38;5;240msudo apt-mark unhold <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx policy\033[0m \033[38;5;240m| \033[1;37mОтображение политики пакета \033[38;5;240m| \033[38;5;240mapt-cache policy <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m└─────────────┴───────────────────────────────────────────┴──────────────────────────────────────┘\033[0m\n"
echo
}
# Помощь на английском
apx-en() {
echo
echo -e "\033[1;33mapx - \033[1;37mPackage manager with command line interface based on apt\033[0m"
echo -e "\033[1;32mUsage:\033[0m apx {command} [arguments]"
echo
echo -e "\033[1;37mAvailable commands:\033[0m"
echo
printf "\033[38;5;240m┌─────────────────┬────────────────────────────────────────┬──────────────────────────────────────┐\033[0m\n"
printf "\033[38;5;240m│ \033[1;33mThe apx command\033[0m \033[38;5;240m│ \033[1;37mDescription\033[0m \033[38;5;240m│ \033[1;38;5;240mThe apt command\033[0m \033[38;5;240m│\033[0m\n"
printf "\033[38;5;240m├─────────────────┼────────────────────────────────────────┼──────────────────────────────────────┤\033[0m\n"
printf "\033[38;5;240m| \033[1;33mapx i\033[0m \033[38;5;240m| \033[1;37mInstall package \033[38;5;240m| \033[38;5;240msudo apt install <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx r\033[0m \033[38;5;240m| \033[1;37mRemove package \033[38;5;240m| \033[38;5;240msudo apt remove <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx rei\033[0m \033[38;5;240m| \033[1;37mReinstall package \033[38;5;240m| \033[38;5;240msudo apt reinstall <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx d\033[0m \033[38;5;240m| \033[1;37mDownload package \033[38;5;240m| \033[38;5;240msudo apt download <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx p\033[0m \033[38;5;240m| \033[1;37mPurge package \033[38;5;240m| \033[38;5;240msudo apt purge <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx upd\033[0m \033[38;5;240m| \033[1;37mUpdate package list \033[38;5;240m| \033[38;5;240msudo apt update\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx upg\033[0m \033[38;5;240m| \033[1;37mUpgrade installed packages \033[38;5;240m| \033[38;5;240msudo apt upgrade\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx fupg\033[0m \033[38;5;240m| \033[1;37mFull upgrade \033[38;5;240m| \033[38;5;240msudo apt full-upgrade\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx a\033[0m \033[38;5;240m| \033[1;37mRemove unused packages \033[38;5;240m| \033[38;5;240msudo apt autoremove\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx se\033[0m \033[38;5;240m| \033[1;37mSearch packages \033[38;5;240m| \033[38;5;240mapt search <search term>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx l\033[0m \033[38;5;240m| \033[1;37mList packages \033[38;5;240m| \033[38;5;240mapt list [<search term>]\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx sh\033[0m \033[38;5;240m| \033[1;37mShow package information \033[38;5;240m| \033[38;5;240mapt show <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx c\033[0m \033[38;5;240m| \033[1;37mClean APT cache \033[38;5;240m| \033[38;5;240msudo apt clean\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx check\033[0m \033[38;5;240m| \033[1;37mChecking status of installed packages \033[38;5;240m| \033[38;5;240msudo apt check\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx hold\033[0m \033[38;5;240m| \033[1;37mHold package \033[38;5;240m| \033[38;5;240msudo apt-mark hold <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx unhold\033[0m \033[38;5;240m| \033[1;37mUnhold package \033[38;5;240m| \033[38;5;240msudo apt-mark unhold <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m| \033[1;33mapx policy\033[0m \033[38;5;240m| \033[1;37mShow package policy \033[38;5;240m| \033[38;5;240mapt-cache policy <package name>\033[0m \033[38;5;240m|\n"
printf "\033[38;5;240m└─────────────────┴────────────────────────────────────────┴──────────────────────────────────────┘\033[0m\n"
echo
}
# Основная функция apx
apx() {
case "$1" in
ru) apx-ru ;;
en) apx-en ;;
i) shift; sudo apt install "$@" ;;
r) shift; sudo apt remove "$@" ;;
rei) shift; sudo apt reinstall "$@" ;;
d) shift; sudo apt download "$@" ;;
p) shift; sudo apt purge "$@" ;;
upd) sudo apt update ;;
upg) sudo apt upgrade ;;
fupg) sudo apt full-upgrade ;;
a) sudo apt autoremove ;;
se) shift; apt search "$@" ;;
l) shift; apt list "$@" ;;
sh) shift; apt show "$@" ;;
c) sudo apt clean ;;
check) sudo apt check ;;
hold) shift; sudo apt-mark hold "$@" ;;
unhold) shift; sudo apt-mark unhold "$@" ;;
policy) shift; apt-cache policy "$@" ;;
*)
echo -e "Enter the following command to view the apx help:"
echo -e "apx ru - Russian help"
echo -e "apx en - English help"
esac
}
'
# Функция для добавления алиасов в .bashrc и .zshrc (если они существуют)
add_aliases_to_shell_config() {
# Файлы конфигурации
local files=("$HOME/.bashrc" "$HOME/.zshrc")
for file in "${files[@]}"; do
if [ -f "$file" ]; then
# Проверим, не добавлен ли уже алиас
if ! grep -q "apx-help" "$file"; then
echo -e "$ALIAS_CONTENT" >> "$file"
echo "Aliases have been successfully added to $file"
else
echo "Aliases have already been added to $file"
fi
fi
done
}
# Выполняем добавление алиасов
add_aliases_to_shell_config