Force Linux / UNIX bash shell to correct spelling of a directory name

by on July 7, 2007 · 2 comments· LAST UPDATED July 7, 2007

in , ,

Q. There is a way to cd a particular directory even if you spelled incorrectly on the command line. The command was added to my shell startup file. After formatting my hard disk, I lost my original file. Can you tell me the shell option or command that will automatically correct errors in the spelling of a directory name in a cd command?

A. There is a bash shell variable called cdspell If set, minor errors in the spelling of a directory component in a cd command will be corrected. The errors checked for are transposed characters, a missing character, and one character too many. If a correction is found, the corrected file name is printed, and the command proceeds. This option
is only used by interactive shells.

To toggle the values of cdspell variables controlling optional behavior use shopt command as follows:
$ shopt -s cdspell
$ cd /etx
$ pwd

Add above command to your .bash_profile file.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 2 comments… read them below or add one }

1 Corey Hart July 13, 2007 at 5:39 pm

csh/tcsh users:

To enable spelling correction, add one of the following to ~/.tcshrc

* set correct = cmd
* set correct = all

The first option causes spelling correction to be applied for commands only
The second tries to correct all entries on the command line

Reply

2 nixCraft July 14, 2007 at 10:12 pm

Corey,

Nice, thanks for sharing tips with us!

Reply

Leave a Comment

Tagged as: , , , , , , , ,

Previous Faq:

Next Faq: