Other Shell Variables

The following variables are not automatically set by the shell, although many of them can influence the shell’s behavior. They are typically used in your .profile file, where you can define them to suit your needs. Variables can be assigned values by issuing commands of the form:

variable=value

This list includes the type of value expected when defining these variables.

Variable expression

Description

CDPATH= dirs

Directories searched by cd ; allows shortcuts in changing directories; unset by default.

COLUMNS= n

Screen’s column width; used in line edit modes and select lists.

COMPREPLY=( words ...)

Array variable from which Bash reads the possible completions generated by a completion function.

EDITOR= file

Pathname of line-edit mode to turn on (can end in emacs or vi); used when VISUAL is not set.

EMACS

If the value starts with t, Bash assumes it’s running in an Emacs buffer and disables line editing.

ENV= file

Name of script that gets executed at startup; useful for storing alias and function definitions. For example, ENV=$HOME/.bashrc.

FCEDIT= file

Editor used by fc command (default is /bin/ed).

FIGNORE= pattern

Colon-separated list of patterns describing filenames to ignore when doing filename completion.

GLOBIGNORE= patlist

Colon-separated list of patterns describing the set of filenames to ignore during pattern matching.

HISTCONTROL= list

Colon-separated list of values controlling how commands are saved in the history file. Recognized values are: ignoredups, ignorespace, ignoreboth ...

Get Linux in a Nutshell, 6th Edition 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.