From: utzoo!decvax!duke!mcnc!rlgvax!guy
Newsgroups: net.unix-wizards
Title: Re: rm ABC*
Article-I.D.: rlgvax.1051
Posted: Tue Feb 15 02:35:56 1983
Received: Thu Feb 17 07:46:11 1983


The problem is that the unprintable character has its uppermost bit turned
on.  "ls" has no trouble because it reads the directory directly and immediately
stuffs the pathname through "stat" (and, with the Berkeley "ls - but NOT other
"ls"es - turns the unprintable to "?"), but the "rm ABC*" passes through the
shell's star-convention expansion mechanism.  If I remember correctly, the
Bourne shell (and probably the C shell, and most other UNIX shells) use the
uppermost bit to indicate that the character has been quoted (with "", '', or
\), and thus have to strip that bit off when they hand the filename to the
command.  Therefore, "rm" is trying to remove "ABC\001" instead of "ABC\201";
the former does not exist, so it complains.
					Guy Harris
					RLG Corporation
				(...!decvax!duke!mcnc!rlgvax!guy)
P.S. The only way I know of getting rid of that file is to write your own
little program which executes unlink("ABC\201");.