42 lines
		
	
	
	
		
			973 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			973 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #! /bin/bash
 | |
| #
 | |
| # aliasconv.sh - convert csh aliases to bash aliases and functions
 | |
| #
 | |
| # usage: aliasconv.sh
 | |
| #
 | |
| # Chet Ramey
 | |
| # chet@po.cwru.edu
 | |
| #
 | |
| trap 'rm -f $TMPFILE' 0 1 2 3 6 15
 | |
| TMPFILE=$(mktemp -t cb.XXXXXX) || exit 1
 | |
| T='	'
 | |
| 
 | |
| cat << \EOF >$TMPFILE
 | |
| mkalias ()
 | |
| {
 | |
| 	case $2 in
 | |
| 	'')	echo alias ${1}="''" ;;
 | |
| 	*[#\!]*)
 | |
| 		comm=`echo $2 | sed  's/\\!\*/"$\@"/g
 | |
| 				      s/\\!:\([1-9]\)/"$\1"/g
 | |
| 			              s/#/\#/g'`
 | |
| 		echo $1 \(\) "{" command "$comm"  "; }"
 | |
| 		;;
 | |
| 	*)	echo alias ${1}=\'`echo "${2}" | sed "s:':'\\\\\\\\'':"`\' ;;
 | |
| 	esac
 | |
| }
 | |
| EOF
 | |
| 
 | |
| # the first thing we want to do is to protect single quotes in the alias,
 | |
| # since they whole thing is going to be surrounded by single quotes when
 | |
| # passed to mkalias
 | |
| 
 | |
| sed -e "s:':\\'\\\'\\':" -e "s/^\([a-zA-Z0-9_-]*\)$T\(.*\)$/mkalias \1 '\2'/" >>$TMPFILE
 | |
| 
 | |
| sh $TMPFILE | sed -e 's/\$cwd/\$PWD/g' \
 | |
| 		     -e 's/\$term/\$TERM/g' \
 | |
| 		     -e 's/\$home/\$HOME/g' \
 | |
| 		     -e 's/\$user/\$USER/g' \
 | |
| 		     -e 's/\$prompt/\$PS1/g'
 | |
| 
 | |
| exit 0
 | 
