1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
<h1>Bash module</h1>
This module will help you configure Bash versions ranging from 1.14.4 to
2.0. The module consists of 17 configuration pages, where you can setup
options as shell prompt, command aliases, completion, error handling and
much more.<br>
Before generating your configuration options, please make sure you have
choosen the right <a href="#Bash_version">version</a> of Bash (default
1.14.4 to 2.0).
<h1>Configuration pages</h1>
Below you will find a list of configuration pages in this module. You
can use it to get an overview of the module, and if needed a small
description of each page is included. For further information on each
configuration option on the individual pages, as well as the the
generated output, please read the reference guide.
<A NAME="User/Bash_interface"><h2>User/Bash interface</h2></A>
In this section you can configure options concerning the interaction
between User and Bash (i.e. commandline, completion and prompting, etc.)
<A NAME="Prompting"><H3>Prompting</H3></A>
A collection of pages, that will help you setup how Bash is to prompt you.<br>
<A NAME="Command_aliases"><H3>Command aliases</H3></A>
UNIX often have commands with very cryptic names, or numerous arguments
you have to remember/type each time you use the command/program. With
aliases you are saved from that kind of annoyances. If you are familiar
with C shells (like Tcsh), the major difference is you cannot use
arguments in alias expansions-the alias function in Bash can be compared
with search-and-replace. The use of arguments is provided by
<i>functions</i>, a sort of script-within-a-script, which you can use to
define some shell code by name and store it in the shell's memory, to be
invoked and run later. Due to the versatility of functions, you can not
define functions (-maybe in a later version), but are you interested in
writing shell functions, I can recommend the book <A
HREF="http://www.ora.com/catalog/bash/"><b>Learning the bash
Shell</b></A>.
<A NAME="Command_history"><H3>Command history</H3></A>
This configuration page will help you setup the history function of
Bash. The history mechanism records your commands, and is very useful if
you make a mistake. Instead of retyping the entire commandline, you just
recall the command, fix the mistake and re-execute the command. Bash has
several ways to edit old commands; either by using incremental search
for a single commandline by using up and down cursor keys, or using the
builtin <i>fc</i> (<i>f</i>ix <i>c</i>ommand) command.
<A NAME="Commandline"><H3>Commandline</H3></A>
This configuration page will help you setup options concerning the
commandline. In particular which editing mode is prefered, how to
respond to scripts, etc.
<A NAME="Completion"><H3>Completion</H3></A>
This page will help you setup options concerning completion and
globbing. You can complete a commandline typing TAB. Bash will complete
the line based on the text before point. Bash attempts completion
treating the text as a variable (if the text begins with $), username
(if the text begins with ~), hostname (if the text begins with @), or
command (including aliases and functions) in turn. If none of these
produces a match, filename completion is attempted.
<A NAME="Job_control"><H3>Job control</H3></A>
Job control refers to the ability to selectively stop (<i>suspend</i>)
the execution of processes and continue (<i>resume</i>) their execution
at a later point. A user typically employs this facility via an
interactive interface supplied jointly by the system's terminal driver
and Bash. If the operating system on which Bash is running supports job
control, Bash allows you to use it. Typing the suspend character
(typically <b>^Z</b>, CTRL-z) while a process is running causes that
process to be stopped and returns you to Bash. You may then manupulate
the state of this job, using the <b>bg</b> command to continue it in the
background, the <b>fg</b> command to continue it in the foreground, or
the <b>kill</b> command to kill it. A <b>^Z</b> takes effect
immediately, and has the additional side effect of causing pending
output and typeahead to be discarded.
<A NAME="Keyboard_bindings"><H3>Keyboard bindings</H3></A>
Here you can setup keyboard macros. A macro is simply a sequeence of
keystrokes or a builtin (readline) command. Typing the key sequence
causes the keys in the macro to be entered as though you had typed
them. Some of the readline commands and their bindings you can see in
<A HREF="http://www.imada.sdu.dk/~pzacho/bash/bashguide.html#Commandline/2">
Bash module reference guide</A>.
<A NAME="Mail_check"><H3>Mail check</H3></A>
You can make Bash check for incoming mail, if you should choose to. The
shell can't actually check for incoming mail, but it check your mail
file periodically and dertermine whether the file has been modified
since last check. Here you can setup how often, what file(s) to check.
<A NAME="TTY_appearance"><H3>TTY appearance</H3></A>
This configuration page covers topics as screen dimensions, bell style,
how to react on commandline exceeding screen width, etc.
<A NAME="System/Bash_interface"><H2>System/Bash interface</H2></A>
Here you can configure options that have no affect on interactive
communication with user-not directly anyway. In this group options on
file creation, path search, etc. is found. Please remember, options in
this section is to be altered with much care, as much of this
information is essential for the shell to work properly.
<A NAME="Error_handling"><H3>Error handling</H3></A>
This configuration page will help you to setup options concerning
certain exceptions.
<A NAME="File_and_directory_handling"><H3>File and directory handling</H3></A>
This configuration page will help you to setup options concerning file
and directory handling, how to follow links, etc.
<A NAME="Paths"><H3>Paths</H3></A>
This configuration page will help you to setup paths. If a path is
already defined, the Bash module will attempt to read it and
auto-fillout the entries. You can then add, or delete in the list as you
please, just bear in mind not to compromise with system security.
<A NAME="System_limits"><H3>System limits</H3></A>
This configuration page will help you to setup how system resources are
shared, e.g. how much disk space a user file may allocate, how much
memory and CPU-time a user process can allocate, etc.
<A NAME="Bash_version"><H3>Bash version</H3></A>
In contrast to the other configuration pages, this page will not create
any output, when generating. Here you can specify which version of Bash
you want to generate dot.files for.
<h1><a name="howToUse">How to use the output</a></h1>
This module generate options used by the following two files:
<dl>
<dt><b>.bashrc</b>
<dd>which is used for configuring Bash, and
<dt><b>.inputrc</b>
<dd>holding Readline options (Readline is the builtin Bash commandline
editor).
</dl>
<h2>How to use <b>.bashrc</b> options</h2>
You have to options:
<ul>
<li> You may generate directly to your <b>~/.bashrc</b> file. This is
recomented if you do <i>NOT</i> have a <b>~/.bashrc</b> file
allready, and do <i>NOT</i> plan to add additional code to the
output (i.e. conditions).
<li> You may generate to an other file than <b>~/.bashrc</b>
(e.g. <b>~/.bash-dotfile</b>). this file may then be sourced in your
original <b>~/.bashrc</b> file, with the command <i>source</i>. The
source line may look like this: <b>source ~/.bash-dotfile</b>
</ul>
<h2>How to use <b>.inputrc</b> options</h2>
Where <b>.bashrc</b> allows you to link in other configuration files,
<b>.inputrc</b> does not allow such linking. Therefore you have the
following options:
<ul>
<li> You may generate directly to your <b>~/.inputrc</b> file. This is
recomented if you do <i>NOT</i> have a <b>~/.inputrc</b> file
allready, and do <i>NOT</i> plan to add additional code to the
output.
<li> You may copy from the file generated by the Dotfile Generator
(<b>~/.inputrc-dotfile</b>) to your <b>/~.inputrc</b>. When
using simple cut-and-paste, please remember to add your auto-
generated information at the bottom--in this way other old
configurations are overwritten by your new choice.
</ul><br>
Good luck!
<br><br>
Second edition, 1997 January 27<br>
Per Zacho
|