diff options
Diffstat (limited to 'shell_utils.sh')
-rw-r--r-- | shell_utils.sh | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/shell_utils.sh b/shell_utils.sh deleted file mode 100644 index 51361f5..0000000 --- a/shell_utils.sh +++ /dev/null @@ -1,53 +0,0 @@ -# This file is part of Haketilo -# -# Copyright (C) 2021, Wojtek Kosior -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the CC0 1.0 Universal License as published by -# the Creative Commons Corporation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# CC0 1.0 Universal License for more details. - -map_set_instr() { - printf "%s__%s='%s'" "$1" "$2" "$3" -} - -map_set() { - eval "$(map_set_instr "$@")" -} - -map_set_export() { - eval "export $(map_set_instr "$@")" -} - -map_get() { - eval "printf %s \"\$$1__$2\"" -} - -map_del_instr() { - printf 'unset %s__%s' "$1" "$2" -} - -map_del() { - eval "$(map_del_instr "$@")" -} - -sanitize() { - printf %s "$1" | tr /.- _ -} - -escape_regex_special() { - printf %s "$1" | sed 's/\([]\.*?{},()[-]\)/\\\1/g' -} - -# Note: We don't actually parse JSON. We extract needed keys with sed regexes -# which does not work in the general case but is sufficient for now. -get_json_key() { - local KEY_REG="$(escape_regex_special "$1")" - printf %s "$2" | - sed 's/\(.*"'"$KEY_REG"'"[[:space:]]*:[[:space:]]*"\([^"]*\)"\)\?.*/\2/' | - grep . | head -1 -} |