≡ Menu

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

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.

{ 2 comments… add one }

  • Corey Hart July 13, 2007, 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

  • nixCraft July 14, 2007, 10:12 pm


    Nice, thanks for sharing tips with us!

Leave a Comment

   Tagged with: , , , , , , , ,