check default config options

This commit is contained in:
creme 2020-02-16 13:25:34 +01:00
parent a9d4ddc505
commit 3a266f876f
Signed by: creme
GPG Key ID: C147C3B7FBDF08D0
2 changed files with 29 additions and 21 deletions

48
envs
View File

@ -23,7 +23,7 @@
export TERM=xterm-256color
PROGNAME=${0##*/}
VERSION="0.0.8"
VERSION="0.1.0"
INFO_FILE="$HOME/.envs"
@ -162,6 +162,24 @@ sudo envs approve
EOF
}
#
# envs config
envs_show() { cat "$INFO_FILE" ; }
envs_edit() { if [[ -n "$EDITOR" ]]; then "$EDITOR" "$INFO_FILE"; else nano "INFO_FILE"; fi ; }
envs_get() { sed -n "/^$1=/{s#^.*=##;p}" "$INFO_FILE" ; }
envs_set() {
if [[ -z "$(sed -n /^"$1"=/p "$INFO_FILE")" ]]; then
echo "${1}=${2}" >> "$INFO_FILE"
else
sed -i "s#${1}=.*#${1}=${2}#" "$INFO_FILE"
fi
}
envs_unset() { sed -i "s#${1}=.*#${1}=#" "$INFO_FILE" ; }
# add default config if not exists
if [ ! -f "$INFO_FILE" ]; then
cat << EOF > "$INFO_FILE"
@ -187,6 +205,10 @@ ssh_pubkey=0
EOF
fi
# check default config options
[ "$(envs_get desc)" == '' ] && envs_set desc 'a short describtion or message'
[ "$(envs_get ssh_pubkey)" == '' ] && envs_set ssh_pubkey 0
# Trap signals
trap "signal_exit TERM" TERM HUP
@ -301,29 +323,15 @@ case "$1" in
;;
show)
cat "$INFO_FILE"
;;
show) envs_show ;;
edit)
if [[ -n "$EDITOR" ]]; then "$EDITOR" "$INFO_FILE"; else nano "INFO_FILE"; fi
;;
edit) envs_edit ;;
get)
sed -n "/^$2=/{s#^.*=##;p}" "$INFO_FILE"
;;
get) envs_get "$2" ;;
set)
if [[ -z "$(sed -n /^"$2"=/p "$INFO_FILE")" ]]; then
echo "${2}=${3}" >> "$INFO_FILE"
else
sed -i "s#${2}=.*#${2}=${3}#" "$INFO_FILE"
fi
;;
set) envs_set "$2" "$3" ;;
unset)
sed -i "s#${2}=.*#${2}=#" "$INFO_FILE"
;;
unset) envs_unset "$2" ;;
*)

2
envs.1
View File

@ -1,4 +1,4 @@
.TH envs 1 "16 February 2020" "v0.0.8"
.TH envs 1 "16 February 2020" "v0.1.0"
.SH NAME
envs \- wrapper for user-submitted scripts and users_info.json entrys
supports user settings, submission and admin approval