Differences between revisions 7 and 8
Revision 7 as of 2008-11-16 19:06:34
Size: 3512
Editor: pgas
Comment:
Revision 8 as of 2008-11-18 12:37:16
Size: 447
Editor: www
Comment: 10
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:

[[Anchor(Special_Characters)]]
== Special Characters ==

There are several special characters in ["BASH"] that have a non-literal meaning. When we use these characters, ["BASH"] evaluates these characters and their meaning, but usually does not pass them on to the underlying commands.

Here are a few of those special characters, and what they do:

 * '''''[whitespace]''''': Whitespace (spaces, tabs and newlines). ["BASH"] uses whitespace to determine where words begin and end. The first word of each command is used as the command name; any additional words become arguments to that command.
 * '''"text"''': Double quotes. Double quotes protect the text inside from being split into multiple words or arguments. They also prevent the special meaning of single quotes inside. However, other special characters retain their special meanings.
 * ''''text'''': Single quotes. Single quotes protect the text inside from any kind of expansion by the shell and keeps it from being split into multiple words or arguments. They also prevent the special meaning of all special characters inside.
 * '''# text''': Comment character. Any word beginning with `#` begins a ''comment'' that extends to the next newline. Comments are not processed by the shell.
 * ''';''': Command separator. The semicolon is used to separate multiple commands from each other if the user chooses to keep them on the same line. It's ''basically'' the same thing as a newline.
 * '''\''': Escape character. The backslash protects the next character from being used in any special sort of way.
 * '''>''' or '''<''': Redirection character. These characters are used to modify (redirect) the input and/or output of a command.
 * '''[[ expression ]]''': Test expression. This evaluates the conditional expression.
 * '''{ commands; }''': Command Group. This executes the commands inside the braces as though they were only one command. It is convenient for places where ["BASH"] syntax requires only one command to be present.
 * '''{{{`command`}}}''', '''{{{$(command)}}}''': Command substitution (The latter form is '''highly''' preferred). Command substitution executes the command inside the substitution form first, and replaces itself by that command's output.
 * '''(command)''': Subshell Execution. This executes the command in a new bash shell, instead of in the current.
 * '''((expression))''': Arithmetic Evaluation. Inside the parentheses, operators such as +, -, * and / are seen as mathematical operators.
 * '''$((expression))''': Arithmetic Expansion. Comparable to the above, but this expression is replaced with the result of its arithmetic evaluation.
 * '''$''': Expansion character. This character is used for any form of parameter expansion. More about this later.
Some examples:

{{{
    $ echo "I am $LOGNAME"
    I am lhunath
    $ echo 'I am $LOGNAME'
    I am $LOGNAME
    $ # boo
    $ echo An open\ \ \ space
    An open space
    $ echo "My computer is $(hostname)"
    My computer is Lyndir
    $ echo boo > file
    $ echo $(( 5 + 5 ))
    10
    $ (( 5 > 0 )) && echo "Five is bigger than zero."
    Five is bigger than zero.
}}}
--------
 . '''In The Manual: [http://www.gnu.org/software/bash/manual/bashref.html#SEC6 Shell Syntax]'''
Nice page ;) It is great that you share all of your feelings on the web in such a straight forward way, especially for the courage you may impart to those that are going through difficulties stoneware bar pan and pumpkin bar recipe yes http://zimmermans88.free.bg/recipeb59.html antique english coffee mill dance, http://bakelite47.free.bg/recipe64c.html chevy chase wine and spirits, I just don't have anything to say.
Line 44: Line 3:
 . ''Special Characters'': Characters that have a special meaning to ["BASH"]. Usually their meaning is interpreted and afterwards they are removed from the command before executing it.
--------
CategoryCategory

Nice page ;) It is great that you share all of your feelings on the web in such a straight forward way, especially for the courage you may impart to those that are going through difficulties stoneware bar pan and pumpkin bar recipe yes http://zimmermans88.free.bg/recipeb59.html antique english coffee mill dance, http://bakelite47.free.bg/recipe64c.html chevy chase wine and spirits, I just don't have anything to say.


CategoryCategory

BashGuide/SpecialCharacters (last edited 2019-02-14 20:04:40 by GreyCat)