i-bash/examples/functions/csh-compat

48 lines
867 B
Text
Raw Normal View History

1996-08-26 18:22:31 +00:00
# C-shell compatabilty package.
# setenv VAR VALUE
1996-12-23 17:02:34 +00:00
function setenv ()
{
1996-08-26 18:22:31 +00:00
export $1="$2"
}
1996-12-23 17:02:34 +00:00
function unsetenv ()
{
1996-08-26 18:22:31 +00:00
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 () {
#}
1996-12-23 17:02:34 +00:00
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
echo $2 | egrep -s '(\!|#)' 2>/dev/null
if [ $? -eq 0 ]
then
comm=$(echo $2 | sed 's/\\!\*/\"$\@\"/g
s/\\!:\([1-9]\)/\"$\1\"/g
s/#/\\#/g')
else
comm="$2 \"\$@\""
fi
eval function $1 \(\) "{" command "$comm" "; }"
fi
}