Differenciate between error and abort signal
This commit is contained in:
parent
b36a11b8c9
commit
a384f71c2c
44
lib-core.sh
44
lib-core.sh
@ -42,6 +42,8 @@ else
|
|||||||
SED_OPT="-i"
|
SED_OPT="-i"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
SUDO_BIN="$(which sudo)"
|
||||||
|
|
||||||
#------------Directories--------------#
|
#------------Directories--------------#
|
||||||
THEME_SRC_DIR="${REPO_DIR}/src"
|
THEME_SRC_DIR="${REPO_DIR}/src"
|
||||||
DASH_TO_DOCK_SRC_DIR="${REPO_DIR}/src/other/dash-to-dock"
|
DASH_TO_DOCK_SRC_DIR="${REPO_DIR}/src/other/dash-to-dock"
|
||||||
@ -152,8 +154,6 @@ anim=(
|
|||||||
" ${c_blue}•${c_green}•${c_red}•${c_magenta}• "
|
" ${c_blue}•${c_green}•${c_red}•${c_magenta}• "
|
||||||
)
|
)
|
||||||
|
|
||||||
export SUDO_PROMPT="${c_yellow} SUDO: Authentication is required\n${c_green} SUDO: Password (${MY_USERNAME}): "
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# CORE UTILITIES #
|
# CORE UTILITIES #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -292,6 +292,12 @@ trap 'signal_abort' INT TERM TSTP
|
|||||||
# USER UTILITIES #
|
# USER UTILITIES #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
ask() {
|
||||||
|
echo -e "${c_magenta}\r"
|
||||||
|
read -p " ${2}" ${1} 2>&1
|
||||||
|
echo -e "${c_default}"
|
||||||
|
}
|
||||||
|
|
||||||
helpify_title() {
|
helpify_title() {
|
||||||
printf "${c_cyan}%s${c_blue}%s ${c_green}%s\n\n" "Usage: " "$0" "[OPTIONS...]"
|
printf "${c_cyan}%s${c_blue}%s ${c_green}%s\n\n" "Usage: " "$0" "[OPTIONS...]"
|
||||||
printf "${c_cyan}%s\n" "OPTIONS:"
|
printf "${c_cyan}%s\n" "OPTIONS:"
|
||||||
@ -586,13 +592,41 @@ remind_relative_path() {
|
|||||||
# MISC #
|
# MISC #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
sudo() {
|
||||||
|
local result="0"
|
||||||
|
|
||||||
|
prompt -w "Executing '$(echo "${@}" | cut -c -35 )...' as root"
|
||||||
|
|
||||||
|
if ! ${SUDO_BIN} -n true 2> /dev/null; then
|
||||||
|
echo -e "${c_magenta} Authentication is required:${c_default}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Don't combine '[[ ... ]]' and '! ... < /dev/stdin' cause it's gonna
|
||||||
|
# break the logic/workflow
|
||||||
|
if [[ -p /dev/stdin ]]; then
|
||||||
|
if ! ${SUDO_BIN} "${@}" < /dev/stdin; then
|
||||||
|
result="1"; WHITESUR_COMMAND="${*}"
|
||||||
|
fi
|
||||||
|
elif ! ${SUDO_BIN} "${@}"; then
|
||||||
|
result="1"; WHITESUR_COMMAND="${*}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "${c_default}"
|
||||||
|
|
||||||
|
return "${result}"
|
||||||
|
}
|
||||||
|
|
||||||
udo() {
|
udo() {
|
||||||
local result="0"
|
local result="0"
|
||||||
|
|
||||||
|
# Don't combine '[[ ... ]]' and '! ... < /dev/stdin' cause it's gonna
|
||||||
|
# break the logic/workflow
|
||||||
if [[ -p /dev/stdin ]]; then
|
if [[ -p /dev/stdin ]]; then
|
||||||
! sudo -u "${MY_USERNAME}" "${@}" < /dev/stdin && result="1"; WHITESUR_COMMAND="${*}"
|
if ! ${SUDO_BIN} -u "${MY_USERNAME}" "${@}" < /dev/stdin; then
|
||||||
else
|
result="1"; WHITESUR_COMMAND="${*}"
|
||||||
! sudo -u "${MY_USERNAME}" "${@}" && result="1"; WHITESUR_COMMAND="${*}"
|
fi
|
||||||
|
elif ! ${SUDO_BIN} -u "${MY_USERNAME}" "${@}"; then
|
||||||
|
result="1"; WHITESUR_COMMAND="${*}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return "${result}"
|
return "${result}"
|
||||||
|
@ -53,9 +53,7 @@ prepare_swupd() {
|
|||||||
prompt -w "CLEAR LINUX: You have 'dnf' installed in your system. It may break your system especially when you remove a package"
|
prompt -w "CLEAR LINUX: You have 'dnf' installed in your system. It may break your system especially when you remove a package"
|
||||||
|
|
||||||
while [[ "${remove}" != "y" && "${remove}" != "n" ]]; do
|
while [[ "${remove}" != "y" && "${remove}" != "n" ]]; do
|
||||||
echo -e "\r${c_green}"
|
ask remove "CLEAR LINUX: You wanna remove it? (y/n): "
|
||||||
read -p " CLEAR LINUX: You wanna remove it? (y/n): " remove 2>&1
|
|
||||||
echo -e "${c_default}"
|
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user