>> Or say "echo ^V^O" (it will show up on your screen as "echo ^O"), and
>> you won't get the error message... :-)
>Great. Will someone please briefly explain why this works? Thanks.
Sure. This is a generic Unix question, but I think that the interest
level here warrents an answer.
VT100's have the ability to switch character sets on the fly. You can
specify that you want line drawing characters or lower case letters
for the character codes between 97-126. When a VT100 sees an ASCII 14
(^N or Control N), it selects the line drawing character set for all
future rendering of characters in the 97-126 range. When it later
sees an ASCII 15 (^O), it selects the "normal" lower case letters, et
al, in the 97-126 range. I don't have my VT100 manual handy, but I
think that this feature may need to be enabled before it works.
So, back to the Unix specific part of this post. I suggested typing
"echo ^V^O". This will echo a ^O to your screen (followed by a
newline, but that doesn't matter and can be eliminated by adding -n
after the echo, but I digress). The reason that you need the ^V
before the ^O is that ^V is typically the "Turn off processing for the
next character and insert it into the command line buffer." Kind of a
raw mode for next character sort of thing, if you know the difference
between raw and cooked modes. Shells with command line editing
typically emulate this behaviour (at least I know that tcsh and bash
seem to) because it is deeply ingrained in the Unix culture, but has
its roots in a distant past (VMS does it, as does TOPS-20, but I don't
know if it dates back farther or not).
Warner
--
I've almost finished my brute force solution to subtlety.