The shell interpreter must substitute or convert all metacharacters in the command line before the command parameters are given to a program. Once all metacharacters have been removed and replaced by their equivalents the program is then executed.
When a meta character is encountered the shell has to substitute the meaning of the metacharacter before anything is executed. For example,
echo hello user $USER
The $ character indicates that the following is a shell variable, and the value of the Shel variable is substituted in the line before the echo command sees the parameter list. So what the echo command utimately might see is:
echo hello user John
There are several meta characters; each one does something different.
See related link
The shell's treatment of the command line :PARSING.VARIABLE EVALUATION.COMMAND SUBSTITUTION.REDIRECTION.WILD-CARD INTERPRETATIONPATH EVALUATION.
Ash
cmd
That would be a semi-contradiction; the command line would need to be already running in order to enter a command. The name of the program that actually provides the command line is called a shell. There are many different shells available for Linux, including Bash, ash, C Shell, fish, ksh, zsh, and scsh.The default command shell is /bin/sh (not /bin/bash, note).
The echo command echoes out any of the command line arguments given to it. It is commonly used in shell scripts to echo what portions of the shell script are doing.
Program ExecutionVariable and File name Substitution I/O RedirectionPipeline HookupEnvironment ControlInterpreted Programming Language
The question mark.
The secondary prompt (PS2) is used to prompt the user with whatever string they want to indicate a command continuation line. For example, if I use the standard PS2 prompt and type in the command: cat abc def \ The shell will prompt me for the rest of the line with a ? mark or some other character. I usually set my secondary prompt for something more interesting, such as: PS2='more ? ' So that I know that the shell wants more information before executing the command line.
DSQUERY
see http://sourceforge.net/projects/clish/
A shell is software that provides an interface for users of an operating system which provides access to the services of a kernel.Operating system shells generally fall into one of two categories: command-line and graphical. Command-line shells provide a command-line interface (CLI) to the operating system, while graphical shells like the Windows Shell[1][2][3] provide a graphical user interface (GUI).
Use the function strlen(string);