diff options
Diffstat (limited to 'examples/misc/aliasconv.bash')
-rwxr-xr-x | examples/misc/aliasconv.bash | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/examples/misc/aliasconv.bash b/examples/misc/aliasconv.bash index 3fbe877..d3b5776 100755 --- a/examples/misc/aliasconv.bash +++ b/examples/misc/aliasconv.bash @@ -14,16 +14,16 @@ T=$'\t' cat << \EOF >/tmp/cb$$.1 mkalias () { - if [ "x$2" = "x" ]; then - echo alias ${1}="''" - elif echo "$2" | egrep -s '(\!|#)' >/dev/null 2>&1; then + case $2 in + '') echo alias ${1}="''" ;; + *[#\!]*) comm=$(echo $2 | sed 's/\!\*/"$\@"/g s/\!:\([1-9]\)/"$\1"/g s/#/\#/g') echo $1 \(\) "{" command "$comm" "; }" - else - echo alias ${1}=\'$(echo "${2}" | sed "s:':'\\\\'':")\' - fi + ;; + *) echo alias ${1}=\'$(echo "${2}" | sed "s:':'\\\\'':")\' ;; + esac } EOF |