this works: $ alias z='echo a' $ zz(){ z b; } $ zz a b
however, after sourcing this file: if true; then alias z='echo a' zz(){ z b; } fi I get $ zz bash: z: command not found $ type -a z z is aliased to `echo a' i.e., somehow zz is defined as function calling z, and z is defined as an alias, but zz does not know what z is an alias. -- Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 11.0.60900031 http://pmw.org.il http://dhimmi.com http://ffii.org http://palestinefacts.org http://iris.org.il http://mideasttruth.com http://memri.org Those who can laugh at themselves will never cease to be amused.