summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2017-11-08 14:12:45 -0500
committerLuke Shumaker <lukeshu@lukeshu.com>2017-11-08 14:17:18 -0500
commitc3dec27c4819b3b825423e5774dc044412d29222 (patch)
tree164e02966e0ca50291aa46d5a849d595c41a5693
parentde7c79283f79ae823d7d286922503e173e461a91 (diff)
config-path: use %q to avoid complexity
-rwxr-xr-x.local/bin/config-path14
1 files changed, 5 insertions, 9 deletions
diff --git a/.local/bin/config-path b/.local/bin/config-path
index cbecc95..eb88092 100755
--- a/.local/bin/config-path
+++ b/.local/bin/config-path
@@ -40,15 +40,14 @@ var_add() {
}
var_done() {
- eval "$1=\"\${ary_$1[*]}\""
- declare -p $1
+ local var=$1
+ local valref="ary_${var}[*]"
+ printf '%s=%q\n' "${var}" "${!valref}"
}
main() {
- export LC_ALL=C # Work around brokenly slow Unicode handling
- # in Bash
-
IFS=:
+
# Import existing values
var_init PATH
var_init LD_LIBRARY_PATH
@@ -66,12 +65,9 @@ main() {
done
# Finally, print the values
- lines=()
for var in PATH LD_LIBRARY_PATH PKG_CONFIG_PATH RUBYLIB PERL5LIB; do
- lines+=("$(var_done "$var")")
+ var_done "$var"
done
- shopt -s extglob
- printf -- '%s\n' "${lines[@]##declare *(-+([[:graph:]]) )}"
}
main "$@"