Usually, we set "stty erase ^h" in the login shell to enable the backspace key. This is good during interactive sesssion.

For some shell script that enclose complicated SQL sessions, this might cause some errors like "stty: Inappropriate ioctl for device"

So, the question is how to avoid executing the "stty erase ^h" command by testing if the current shell is interactive or not. If it's interactive, use stty. Otherwise, skip it.

Somebody suggests add the following in the .cshrc

if ($prompt)
# Interactive commands go here
stty erase ^h

I did. But this does NOT work. It always gives me an error message ": no match" when I log in. That means stty is ALWAYS skipped. This is not what I expected. Any suggestion? Thank you!