diff options
Diffstat (limited to '.local/bin/config-path')
-rwxr-xr-x | .local/bin/config-path | 61 |
1 files changed, 29 insertions, 32 deletions
diff --git a/.local/bin/config-path b/.local/bin/config-path index d0afa4a..7cd1fcd 100755 --- a/.local/bin/config-path +++ b/.local/bin/config-path @@ -3,17 +3,13 @@ # All the prefixes to consider prefixes=( "$HOME" - "$HOME/.local.`uname -m`" + "$HOME/.local.$(uname -m)" "$HOME/.local" - "$HOME/.prefix.`uname -m`" + "$HOME/.prefix.$(uname -m)" "$HOME/.prefix" "$HOME"/.gem/ruby/* ) -###################################################################### - -IFS=: - in_array() { local needle=$1; shift local haystack=("$@") @@ -46,32 +42,33 @@ var_done() { declare -p $1 } -###################################################################### - -# Import existing values -var_init PATH -var_init MANPATH -var_init LD_LIBRARY_PATH -var_init RUBYLIB -var_init PERL5LIB - -# Scan through prefixes -for prefix in "${prefixes[@]}"; do - var_add PATH "$prefix/bin" "$prefix/sbin" - var_add MANPATH "$prefix/share/man" - var_add LD_LIBRARY_PATH "$prefix"/lib{,32,64} - var_add RUBYLIB "$prefix"/lib{,32,64} - var_add PERL5LIB "$prefix"/lib{,32,64}/perl5 -done +main() { + IFS=: + # Import existing values + var_init PATH + var_init MANPATH + var_init LD_LIBRARY_PATH + var_init RUBYLIB + var_init PERL5LIB + # Scan through prefixes + for prefix in "${prefixes[@]}"; do + var_add PATH "$prefix/bin" "$prefix/sbin" + var_add MANPATH "$prefix/share/man" + var_add LD_LIBRARY_PATH "$prefix"/lib{,32,64} + var_add RUBYLIB "$prefix"/lib{,32,64} + var_add PERL5LIB "$prefix"/lib{,32,64}/perl5 + done + # Finally, print the values + # The `sed` bit here is the only time we call an external program + { + var_done PATH + var_done MANPATH + var_done LD_LIBRARY_PATH + var_done RUBYLIB + var_done PERL5LIB + } | sed 's/^declare \(-\S* \)*//' +} -# Finally, print our values -# The `sed` bit here is the only time we call an external program -{ - var_done PATH - var_done MANPATH - var_done LD_LIBRARY_PATH - var_done RUBYLIB - var_done PERL5LIB -} | sed 's/^declare \(-\S* \)*//' +main "$@" |