25 lines
561 B
Bash
Executable File
25 lines
561 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# blob:summary=Remove all the named packages from the system if they're installed (otherwise ignore).
|
|
# blob:args=<packages...>
|
|
# blob:requires-sudo=true
|
|
|
|
installed=()
|
|
declare -A installed_exact=()
|
|
declare -A selected=()
|
|
|
|
while IFS= read -r package_name; do
|
|
installed_exact[$package_name]=1
|
|
done < <(pacman -Qq)
|
|
|
|
for pkg in "$@"; do
|
|
if [[ -n ${installed_exact[$pkg]} && -z ${selected[$pkg]} ]]; then
|
|
installed+=("$pkg")
|
|
selected[$pkg]=1
|
|
fi
|
|
done
|
|
|
|
if (( ${#installed[@]} > 0 )); then
|
|
sudo pacman -Rns --noconfirm "${installed[@]}"
|
|
fi
|