diff options
Diffstat (limited to 'examples/functions/xalias.bash')
-rw-r--r-- | examples/functions/xalias.bash | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/examples/functions/xalias.bash b/examples/functions/xalias.bash new file mode 100644 index 0000000..88a00dc --- /dev/null +++ b/examples/functions/xalias.bash @@ -0,0 +1,22 @@ +# xalias - convert csh alias commands to bash functions +# from Mohit Aron <aron@cs.rice.edu> +# posted to usenet as <4i5p17$bnu@larry.rice.edu> +function xalias () +{ + if [ "x$2" = "x" ] + then + declare -f $1 + else + case $2 in + *[#\!]*) + comm=$(echo $2 | sed 's/\\!\*/\"$\@\"/g + s/\\!:\([1-9]\)/\"$\1\"/g + s/#/\\#/g') + ;; + *) + comm="$2 \"\$@\"" ;; + esac + + eval function $1 \(\) "{" command "$comm" "; }" + fi +} |