diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2017-11-08 14:12:45 -0500 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2017-11-08 14:17:18 -0500 |
commit | c3dec27c4819b3b825423e5774dc044412d29222 (patch) | |
tree | 164e02966e0ca50291aa46d5a849d595c41a5693 | |
parent | de7c79283f79ae823d7d286922503e173e461a91 (diff) |
config-path: use %q to avoid complexity
-rwxr-xr-x | .local/bin/config-path | 14 |
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 "$@" |