Defining tcsh aliases through a .aliases file has worked perfectly for me for years and years using cygwin and older versions of mandriva. I am encountering very annoying and mysterious problems when attempting to do the same thing with a .aliases file in a fedora 64-bit VM. Strangely, if I define aliases in the file, they won't work, but if I do so on the command line, then they will.
Here's a simple example:
suppose I define an alias for "ls" in the file:
alias ls '/bin/ls'
then source the file. This happens:
me: ls
: Command not found.
me: alias ls
/bin/ls
me: /bin/ls
file1 file2 file3 etc.
me: unalias ls
me: ls
file1 file2 file3 etc.
me: alias ls '/bin/ls'
me: ls
file1 file2 file3 etc.
A second example: if I place either of these lines in my .aliases file:
alias d '/bin/ls -alF \!:1'
alias d '/bin/ls -alF \!*'
and source the alias file, this happens:
/ me: d
Bad ! arg selector.
However, if I define the alias on the command line:
/ me: alias d '/bin/ls -alF \!*'
then the alias behaves correctly:
/ me: d
total 376
drwxr-xr-x. 10 r r 4096 Apr 14 16:05 ./
drwxrwxr-x. 6 r r 4096 Feb 21 16:15 ../
drwxr-xr-x. 3 r r 4096 Apr 14 16:05 bin.v2/
-rwxr-xr-x. 1 r r 193872 Apr 14 15:35 bjam*
-rw-r--r--. 1 r r 52804 Apr 14 17:20 bjam.my.log
drwxr-xr-x. 77 r r 4096 Nov 17 09:49 boost/
-rw-r--r--. 1 r r 989 Nov 17 04:51 boost.css
A fix for this annoying but not fatal problem would be very appreciated, and an explanation of what is happening and why very much even if no fix is possible. Thanks.