8 Advanced Options

In this category you’ll find various advanced options regarding history, Bash builtin features and BashStyle-NG specific additions.

History

Setting: History Timeformat

If this is set it’s value will be used as a timestamp that will be prepend to the output of the history builtin. For a detailed list of possible values refer to man strftime.

Setting: Historycontrol Type

There are different ways of history controlling in Bash. This option lets you choose which one to use.

  • Erasedups: erase duplicated entries from history and only keep the newest one
  • Ignoredups: erase duplicated entries from history and only keep the oldest one
  • Ignorespace: remove any entries with a leading space from history
  • Ignoreboth: Ignoredups and Ignorespace together
Setting: History Blacklist

A colon separated list of commands to not log in the history. A good choice is to add cd and ls to this list, to prevent excessive history spamming.

Setting: History Size

This controls how many history entries are saved. 0 for infinite.

Setting: Sync History (Multisession)

This is a BashStyle-NG extension which allows syncronized history over multiple, simultaneously running Bash sessions. It provides custom functions for history controlling as well, so history blacklisting is honoured.

BashStyle-NG

This Section contains settings for BashStyle-NG specific functions and features.

Setting: Use lscd in favour of cd

lscd is a BashStyle-NG builtin function which can be used in favour of the cd Bash builtin. lscd displays the directory content every time you change the directory, while it allows for custom ls options to be used.

Furthermore it features additional options for creating a directory if it does not exist yet, or for logging the directory currently in after each directory change, together with BashStyle-NG’s option to restore the directory in a new shell you’ll then start in the same directory in a newly started session as the one you’re in the current session.

Those additional options are described next.

Setting: Use treecd in favour of cd

treecd is a BashStyle-NG builtin function similar to lscd, but using tree instead of ls to display the directory content on each directory change.

Setting: lscd/treecd: create directory

When using lscd or treecd in favour of cd, this option controls whether a directory that does currently not exist is created and then changed into.

Note: there’s currently only partial permission check done for this feature, it will work when a directory inside an existing directory is created (1 level deep directory paths), deeper nested directories paths are not supported.

Example: if /home/test exists cd /home/test/newdir will succeed, while cd /home/test/newdir/newsubdir will fail, as /home/test/newdir does not exist.

Setting: lscd/treecd: banner color

When using lscd or treecd in favour of cd, this option controls what color is used for the banner.

Setting: lscd/treecd: empty color

When using lscd or treecd in favour of cd, this option controls what color is used to indicate a directory is empty.

Setting: lscd/treecd: mkdir color

When using lscd or treecd in favour of cd, this option controls what color is used to indicate the directory was newly created.

Setting: Restore directory in new shell

This option saves the last directory upon session exit. When a new session is started, Bash will automatically change into it.

Note: if you’ve enabled either lscd or treecd the directory will be additionally saved every time you change the directory, allowing you to start a new shell in your current directory immediately.

Setting: lscd options

Additional options to pass to lscd for displaying the directory content. All ls options are supported, see ls --help for all possibilites.

Setting: treecd options

Additional options to pass to treecd for displaying the directory content. All tree options are supported, see tree --help for all possibilites.

Setting: Let dd show progressbar

Let the dd utility show a progressbar. This requires coreutils version 8.24 or newer.

Setting: Let dd continue on error

Normally the dd utility will abort on the first occurring error. Enabling this will make dd displaying a warning and continuing it’s work instead.

This is mostly useful when dealing with damaged CDs or thelike.

Setting: User Char

Character to display in prompt for normal users, for root, it’s always #.

Setting: Return Code: OK

Character to display in prompts that support return code displaying when a command has succesfully finished, default . On the linux console always +.

Setting: Return Code: Error

Character to display in prompts that support return code displaying when a command has failed to finish successfully, default . On the linux console always -.

Setting: Return Code: Other

Character to display in prompts that support return code displaying when a command has neither return code 0 (success) or 1 (error), default . On the linux console always /.

Setting: Welcome Message

A command to execute upon each new Bash session. This can be any command in \$PATH. Usually this is something like fortune.

Setting: Directory indicator

Normally directories are indicated by /, this allows prompts to use a different character as directory indicator.

Note: this is only a cosmetic change to prompts, where / is replaced by your choice made here, this has no technical impact on how your OS works.

Setting: User Birthday

User’s birthday in MM-DD format. What’s gonna happen that day, I wonder?

Setting: Verbose output on start

BashStyle-NG does several logging upon Bash session start. If you want visible logging enable this option. Usually you don’t need this and thus it’s disabled by default.

Bash Builtin

Various options for Bash builtin functions and features.

Setting: CDPATH

A colon separted list of directories to which’s subdirectories cd can directly change into. For example if ~/Desktop/myfancydir exists and ~/Desktop is in CDPATH, you can enter this directory from anywhere by issuing cd myfancydir.

Setting: Completion Blacklist

A colon separated list of matches to ignore from completion. For example if ~ is in this list, all backup files like myfile~ will not be shown upon filename completion.

Setting: Set Timeout

Bash can automatically log you out after a given time of inactivity (in secons). 0 to disable (default).

Setting: Editor for fc

Choose the editor for the fc Bash builtin.

Setting: Globbing Blacklist

A colon separated list of matches to ignore from globbing results. For example ls -A includes . and .., but if you add both to this blacklist, ls -A will no longer include them. Use with caution.

Setting: Path

A colon separated list of directories containing your systems executable files. If empty the system-wide PATH variable will be used.

Setting: Include PWD in Path

Wether the current directory (.) is appended to the PATH variable.

Bash 4.4+

Options introduced with Bash version 4.4.

Setting: Exec Blacklist

Blacklist of binaries not to be executed. For example if *conf is part of Exec Blacklist, executing autoconf or any other matching binary will be prevented.