From ca3e04971996ebe2eebf88775e96bbf547aa0abe Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 9 Feb 2015 22:17:02 -0500 Subject: path.sh, config-path: don't rely on external programs (sed) --- .local/bin/config-path | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to '.local') diff --git a/.local/bin/config-path b/.local/bin/config-path index 7cd1fcd..1d4d4d1 100755 --- a/.local/bin/config-path +++ b/.local/bin/config-path @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # All the prefixes to consider prefixes=( @@ -61,14 +61,12 @@ main() { 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* \)*//' + lines=() + for var in PATH MANPATH LD_LIBRARY_PATH RUBYLIB PERL5LIB; do + lines+=("$(var_done "$var")") + done + shopt -s extglob + printf -- '%s\n' "${lines[@]##declare *(-+([[:graph:]]) )}" } main "$@" -- cgit v1.2.3