Generalize the sed -> gsed wrapper script so that it's
authorZac Medico <zmedico@gentoo.org>
Tue, 18 Dec 2007 03:16:11 +0000 (03:16 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 18 Dec 2007 03:16:11 +0000 (03:16 -0000)
possible to create awk, make, and patch symlinks that
behave analogously. These symlinks will make
it unnecessary for default-bsd profiles to define
profile.bashrc aliases for these commands.

svn path=/main/trunk/; revision=8942

bin/sed

diff --git a/bin/sed b/bin/sed
index 0a798acb46ae07b6801e1a1addf756f3efdf2633..27d6900b42e46a676219f0c1c6a058f60ef0b9dd 100755 (executable)
--- a/bin/sed
+++ b/bin/sed
@@ -1,21 +1,23 @@
-#!/bin/bash
-# Copyright 2006 Gentoo Foundation
+#!/usr/bin/env bash
+# Copyright 2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-scriptpath="${BASH_SOURCE[0]}"
+# $Id$
+
+scriptpath=${BASH_SOURCE[0]}
+scriptname=${scriptpath%%*/}
 
-if [[ -n ${ESED} ]]; then
+if [[ sed == ${scriptname} ]] && [[ -n ${ESED} ]]; then
        exec ${ESED} "$@"
-elif type -P gsed > /dev/null ; then
-       exec gsed "$@"
+elif type -P g${scriptname} > /dev/null ; then
+       exec g${scriptname} "$@"
 else
        old_IFS="${IFS}"
        IFS=":"
  
        for path in $PATH; do
-               [[ ${path}/sed == $scriptpath ]] && continue
-               if [[ -x $path/sed ]]; then
-                       exec $path/sed "$@"     
+               [[ ${path}/${scriptname} == ${scriptpath} ]] && continue
+               if [[ -x ${path}/${scriptname} ]]; then
+                       exec ${path}/${scriptname} "$@"
                        exit 0
                fi
        done