BashStyle-NG user documentation: Advanced Options

Next: Shell Options, Previous: Aliases, Up: Top

## 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 and history blacklisting is honoured as well.

### 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 no permission check done for this feature, if the user is trying to create a directory where no permissions are granted `lscd` or `treecd` will spit out the usual `mkdir` and `cd` errors.

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` 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: 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.

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?

### 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.

Next: Shell Options, Previous: Aliases, Up: Top