@@ -36,3 +36,88 @@ function edit() {
3636 fi
3737 done
3838}
39+
40+ function package_manager_command() {
41+ local OPERATION
42+ local PACKAGE_MANAGER
43+ local PACKAGE_MANAGER_COMMAND
44+ local PACKAGE_MANAGER_FAMILY
45+
46+ OPERATION=" ${1} " && shift
47+ PACKAGE_MANAGER=' unknown'
48+ PACKAGE_MANAGER_COMMAND=' unknown'
49+ PACKAGE_MANAGER_FAMILY=' unknown'
50+ USE_SUDO=false
51+
52+ if [ -e ' /usr/bin/apt' ]; then
53+ PACKAGE_MANAGER=' apt'
54+ PACKAGE_MANAGER_COMMAND=" sudo ${PACKAGE_MANAGER} -y"
55+ PACKAGE_MANAGER_FAMILY=' apt'
56+ USE_SUDO=true
57+ elif [ -e ' /usr/bin/paru' ]; then
58+ PACKAGE_MANAGER=' paru'
59+ PACKAGE_MANAGER_COMMAND=" ${PACKAGE_MANAGER} --noredownload --norebuild --sudoloop --noconfirm --bottomup --color auto"
60+ PACKAGE_MANAGER_FAMILY=' pacman'
61+ USE_SUDO=false
62+ elif [ -e ' /usr/bin/yay' ]; then
63+ PACKAGE_MANAGER=' yay'
64+ PACKAGE_MANAGER_COMMAND=" ${PACKAGE_MANAGER} --noredownload --norebuild --sudoloop --noconfirm --bottomup --color auto"
65+ PACKAGE_MANAGER_FAMILY=' pacman'
66+ USE_SUDO=false
67+ elif [ -e ' /usr/bin/yaourt' ]; then
68+ PACKAGE_MANAGER=' yaourt'
69+ PACKAGE_MANAGER_COMMAND=" ${PACKAGE_MANAGER} --noconfirm"
70+ PACKAGE_MANAGER_FAMILY=' pacman'
71+ USE_SUDO=false
72+ elif [ -e ' /usr/bin/pacman' ]; then
73+ PACKAGE_MANAGER=' pacman'
74+ PACKAGE_MANAGER_COMMAND=" sudo ${PACKAGE_MANAGER} "
75+ PACKAGE_MANAGER_FAMILY=' pacman'
76+ USE_SUDO=true
77+ fi
78+
79+ # PACKAGE_MANAGER_COMMAND_PREFIX='sudo printf ""';
80+ # PACKAGE_MANAGER_COMMAND="${PACKAGE_MANAGER_COMMAND_PREFIX}"' && ${PACKAGE_MANAGER_COMMAND}'
81+
82+ sudo printf ' '
83+
84+ if [[ " ${OPERATION} " == ' install' ]] \
85+ || [[ " ${OPERATION} " == ' -S' ]]; then
86+ if [[ " ${PACKAGE_MANAGER_FAMILY} " == ' apt' ]]; then
87+ ${PACKAGE_MANAGER_COMMAND} install " ${@ } "
88+ elif [[ " ${PACKAGE_MANAGER_FAMILY} " == ' pacman' ]]; then
89+ ${PACKAGE_MANAGER_COMMAND} -S " ${@ } "
90+ fi
91+ elif [[ " ${OPERATION} " == ' search' ]]; then
92+ if [[ " ${PACKAGE_MANAGER_FAMILY} " == ' apt' ]]; then
93+ ${PACKAGE_MANAGER_COMMAND} search " ${@ } "
94+ elif [[ " ${PACKAGE_MANAGER_FAMILY} " == ' pacman' ]]; then
95+ ${PACKAGE_MANAGER_COMMAND} " ${@ } "
96+ fi
97+ elif [[ " ${OPERATION} " == ' uninstall' ]] \
98+ || [[ " ${OPERATION} " == ' -Rns' ]]; then
99+ if [[ " ${PACKAGE_MANAGER_FAMILY} " == ' apt' ]]; then
100+ ${PACKAGE_MANAGER_COMMAND} purge " ${@ } "
101+ elif [[ " ${PACKAGE_MANAGER_FAMILY} " == ' pacman' ]]; then
102+ ${PACKAGE_MANAGER_COMMAND} -Rns " ${@ } "
103+ fi
104+ elif [[ " ${OPERATION} " == ' update' ]] \
105+ || [[ " ${OPERATION} " == ' -Syy' ]]; then
106+ if [[ " ${PACKAGE_MANAGER_FAMILY} " == ' apt' ]]; then
107+ ${PACKAGE_MANAGER_COMMAND} update
108+ elif [[ " ${PACKAGE_MANAGER_FAMILY} " == ' pacman' ]]; then
109+ ${PACKAGE_MANAGER_COMMAND} -Syy
110+ fi
111+ elif [[ " ${OPERATION} " == ' upgrade' ]] \
112+ || [[ " ${OPERATION} " == ' -Syu' ]]; then
113+ if [[ " ${PACKAGE_MANAGER_FAMILY} " == ' apt' ]]; then
114+ ${PACKAGE_MANAGER_COMMAND} update
115+ ${PACKAGE_MANAGER_COMMAND} upgrade
116+ elif [[ " ${PACKAGE_MANAGER_FAMILY} " == ' pacman' ]]; then
117+ ${PACKAGE_MANAGER_COMMAND} -Syu
118+ fi
119+ else
120+ echo ' Unknown operation.'
121+ return 1
122+ fi
123+ }
0 commit comments