csh-compat   [plain text]


# C-shell compatabilty package.
# setenv VAR VALUE
function setenv ()
{
  export $1="$2"
}

function unsetenv ()
{
  unset $1
}

# Can't write foreach yet.  Need pattern matching, and a few extras.
function foreach () {
echo 'Can'\''t do `foreach'\'' yet.  Type "help for".'
}

# Make this work like csh's.  Special case "term" and "path".
#set () {
#}

chdir ()
{
  builtin cd "$@"
}

# alias - convert csh alias commands to bash functions
# from Mohit Aron <aron@cs.rice.edu>
# posted to usenet as <4i5p17$bnu@larry.rice.edu>
function alias ()
{
	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
}