Linda Walsh wrote: > Haven't used ksh for some time....I thought the '!' stuff came > from csh? It seemed so pointless, since having to look up > things by command number I thought, was way too much work... searching > via a string in the line seemed so much faster...
You are not thinking about the environment in which csh was designed. If you were not working on a CRT but were on a paper terminal then it wasn't possible to implement a C-r reverse-search through the command history and WYSIWYG editor. That is why we have 'ed' and 'ex' although at the time I used 'qed'. During that era CRTs were new fangled things. At the time csh was popular most of us used paper terminals! I missed the teletypes by a few years but my introduction to computing at university was on printing paper terminals. Students were only allowed on the low end paper terminals. The CRTs were reserved for faculty and grad students. (Almost all of my CS classes were on paper terminals dialing a rotary phone with an acoustic coupler at 300 bps to a Honeywell. "Brrappph" was the sound the terminal made as it printed out lines of paper. It would shake the table as the print head on the carriage moved back and forth. Working in the computer lab was very LOUD back then. Especially in a room full of other people all working with the same type of terminals.) In that environment the !67 type of commands make a lot of sense. One always put the command number in the prompt so that it was printed out with the command. Once run that number would always be unchanged forever on the paper and easy to see and know exactly what was going to happen. Just look over the printed out history on the paper and select some program arguments from one command and other arguments from other commands and stitch them together. Since they were all in the growing roll of trash piling up out of the back to the terminal it was fairly easy to do. Take a pen and underline the numbers you used often in that session to make them easier to see. Bob