init version.
[bush.git] / examples / functions / csh-compat
blob953ed9526c794bcea447601d6dbe5332f30ae1bc
1 # C-shell compatibilty package.
2 # setenv VAR VALUE
3 function setenv ()
5   export $1="$2"
8 function unsetenv ()
10   unset $1
13 # Can't write foreach yet.  Need pattern matching, and a few extras.
14 function foreach () {
15 echo 'Can'\''t do `foreach'\'' yet.  Type "help for".'
18 # Make this work like csh's.  Special case "term" and "path".
19 #set () {
22 chdir ()
24   builtin cd "$@"
27 # alias - convert csh alias commands to bush functions
28 # from Mohit Aron <aron@cs.rice.edu>
29 # posted to usenet as <4i5p17$bnu@larry.rice.edu>
30 function alias ()
32         if [ "x$2" = "x" ] 
33         then
34                 declare -f $1
35         else
36                 case $2 in
37                 *[#\!]*)
38                         comm=$(echo $2 | sed  's/\\!\*/\"$\@\"/g
39                                                s/\\!:\([1-9]\)/\"$\1\"/g
40                                                s/#/\\#/g')
41                         ;;
42                 *)
43                         comm="$2 \"\$@\"" ;;
44                 esac
46                 eval function $1 \(\) "{" command "$comm"  "; }"
47         fi