75 lines
1.7 KiB
Bash
75 lines
1.7 KiB
Bash
#!/bin/bash
|
|
source logger.sh
|
|
|
|
TERMINAL_HEIGHT=$(tput lines)
|
|
BOX_HEIGHT=$(printf "%.0f" "$(echo "scale=2; $TERMINAL_HEIGHT * .5" | bc)")
|
|
GAUGE_BOX_HEIGHT=$(printf "%.0f" "$(echo "scale=2; $TERMINAL_HEIGHT * .25" | bc)")
|
|
TERMINAL_WIDTH=$(tput cols)
|
|
BOX_WIDTH=$(printf "%.0f" "$(echo "scale=2; $TERMINAL_WIDTH * .75" | bc)")
|
|
GAUGE_BOX_WIDTH=$(printf "%.0f" "$(echo "scale=2; $TERMINAL_WIDTH * .5" | bc)")
|
|
|
|
setConfigValue() {
|
|
printInfo "Setting bashrc environment variable: $1=$2"
|
|
|
|
if ( grep "$1" ~/.bashrc ); then
|
|
sed -i "/$1=/c\export $1=$2" ~/.bashrc
|
|
else
|
|
echo "export $1=$2" >> ~/.bashrc
|
|
fi
|
|
|
|
unset "$1"
|
|
printf -v "$1" '%s' "$2"
|
|
}
|
|
|
|
msgBox() {
|
|
whiptail --fb --msgbox "$1" "$BOX_HEIGHT" "$BOX_WIDTH"
|
|
}
|
|
|
|
showTailBox() {
|
|
trap "kill $2 2> /dev/null" EXIT
|
|
|
|
while kill -0 "$2" 2> /dev/null; do
|
|
dialog --title "$1" --exit-label "Finished" --tailbox "$3" "$BOX_HEIGHT" "$BOX_WIDTH"
|
|
done
|
|
|
|
clear
|
|
|
|
trap - EXIT
|
|
}
|
|
|
|
checkSudoPass() {
|
|
printInfo "Prompting user for sudo password with message: $1"
|
|
if [[ ! "$SUDO_PASSWORD" ]]; then
|
|
SUDO_PASSWORD=$(whiptail --passwordbox "$1 Enter your sudo password" "$BOX_HEIGHT" "$BOX_WIDTH" 3>&2 2>&1 1>&3)
|
|
fi
|
|
}
|
|
|
|
createMap() {
|
|
declare prefix
|
|
prefix=$(basename -- "$0")
|
|
map=$(mktemp -dt "$prefix.XXXXXXXX")
|
|
trap "rm -rf $map" EXIT
|
|
}
|
|
|
|
put() {
|
|
declare mapName="$1"
|
|
declare key="$2"
|
|
declare value="$3"
|
|
|
|
printInfo "Adding [$key: $value] to map $mapName"
|
|
|
|
[[ -z $map ]] && createMap
|
|
[[ -d "$map/$mapName" ]] || mkdir "$map/$mapName"
|
|
|
|
echo "$value" >> "$map/$mapName/$key"
|
|
}
|
|
|
|
get() {
|
|
declare mapName="$1"
|
|
declare key="$2"
|
|
|
|
[[ -z $map ]] && createMap
|
|
cat "$map/$mapName/$key"
|
|
|
|
printInfo "Fetched $map/$mapName/$key: $(cat $map/$mapName/$key)"
|
|
} |