Chapter 10. Filename and Programmed Completion

In This chapter:

  • Using Built-In Filename Completion

  • Programmed Completions

  • Syntax of the complete Command

  • Displaying and Removing Programmed Completions

  • When Programmed Completions Do Not Apply

The shell can do some typing for you, by performing filename completion. You type a filename prefix, hit a special key, and the shell supplies the rest of the filename.

csh and tcsh both have built-in filename completion. tcsh has command-name completion as well, and allows you to program your own types of completion on a per-command basis (when the built in completion facilities don't perform as needed). For example, you can tell tcsh to complete an argument to mail as a username rather than as a filename, or to complete arguments to cd using only directory names.

Using Built-In Filename Completion

In tcsh, filename completion is always active: just type the first part of a name and hit the TAB key. tcsh determines which name matches the prefix, and types out the rest for you. If you have a file named experiment.data, you can type its name quickly, like this:

% more ex                        Type the prefix ex, then hit TAB
% more experiment.data           Shell types rest of name

In csh, you hit ESC rather than TAB after typing the prefix. Also, filename completion isn't active unless ...

Get Using csh & tcsh now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.