Techniques cited in Unix / Linux
Super characters in Unix / Linux
Shell provides a variety of characters that have special meaning while using them in any Shell script and cause a limit of a word unless quoted.
For example: super characters? connect to a single character while listing files in a folder and super characters * will connect more than one character. The following lists a list of most special characters in the shell (also called super characters).
* ? [ ] '"$; & () | ^ <> new-line space tab
A character can be cited by preceding it with a sign.
Example in Unix / Linux:
Here is an example showing how to print a * or a?:
#! / bin / sh echo Hello ; Word
It will produce the following result:
Hello ./ test . sh : line 2 : Word : command not found shell returned 127
Now we use a quoted character:
#! / bin / sh echo Hello ; Word
It will produce results:
Hello ; Word
The $ symbol is a metaphor, so it must be cited to avoid the shell from performing special tasks related to it:
#! / bin / sh echo "I have $ 1200"
The above code produces the following result:
I have $ 1200
There are 4 types of citation patterns listed in the following table:
Quote Description of Single Quote All characters in the middle of this citation are no longer of special significance to the shell. Double quotes Most characters between this citation have no special meaning except the following characters:- $
- `
- $
- '
- "
Single quotes in Unix / Linux:
We consider an echo command that contains many special characters in the following shell:
echo <- $ 1500. **>; ( update ?) [ y | n ]
Putting a backslash () in front of every special character is tedious and makes the code difficult to read.
echo < - $ 1500 . **>; (update?) [y | n]
There is an easy way to quote a large group of characters. We place a single citation (`) at the beginning and end of the string:
echo '; (update?) [y | n] '
Any character in a single citation is quoted as having a backslash before each character. Therefore, now each echo command is displayed correctly.
If a single citation appears in a string to create the output, you should not place the entire string in the single citation, instead you should precede them with the following:
echo 'It's Shell Programming'
Double quotes in Unix / Linux
You are trying to run Shell script later. This script uses single quotes:
VAR = ZARA echo '$ VAR owes ; [as of (`date +% m /% d`)] '
It will produce the following result:
$ VAR owes <- $ 1500. **>; [ as of ( `date +% m /% d` ) ]
But it's not what you want to display. So it is clear that a single quote prevents the variable replacement. If you want to replace the value of the variable and perform the following comma as you would expect, then you need to place your commands in the double quote as follows:
VAR = ZARA echo "$ VAR owes ; [as of (` date +% m /% d`)] "
It will produce the following result:
ZARA owes <- $ 1500. **>; [ as of ( 07/02 ) ]
Double quotes eliminate the special meaning of all special characters except the following:
$ for parameter substitution
Reverse quote for command replacement
$ is represented by the letter of the dollar sign
`represents in words of reverse quotation marks
"allows embedded double quotes
Allows embedded backslash characters
All other "characters" are represented by its literal meaning (not specifically)
Any character in a single citation is cited as a backslash in the preceding section of each character. So now this echo command is displayed correctly.
If a single citation appears in a string in the output, you should not place the entire string in a single citation, but instead you should put it backwards as follows:
echo 'It's Shell Programming'
Quoted back in Unix / Linux
By placing any shell command in the middle of the citations, the shell will execute that command.
Syntax
This is a simple syntax for placing any Shel l command in the middle of a reverse quote:
For example:
var = `command`
For example:
Here we will run the date command and keep the result in the DATA variable:
DATE = `date` echo " Current Date: $ DATE "
It results in:
Current Date : Thu Jul 2 05:28 : 45 MST 2009
According to Tutorialspoint
Previous article: Shell replacement
Next article: Navigation IO in Unix / Linux
You should read it
May be interested
- Navigation IO in Unix / Linuxmost unix system commands receive input from your terminal and send the output back to your terminal. a command usually reads its input from a location called standard input, which happens to your terminal by default.
- Shell functionsfunctions allow you to streamline an overall feature of a script into a smaller and more logical part that can perform the same function whenever it is needed through the function call.
- ManPage Help in Unixall unix commands come with arbitrary and mandatory functions. it is very common when you forget the full syntax of these commands.
- The while loop in Shellthe while loop gives you the ability to execute a set of repetitive commands until certain conditions occur. it is often used when you need to manipulate iterative variable values.
- For loop in Shellthe for loop works on lists of items (items). it repeats a set of commands for each item in a list.
- Until loop in Shellthe while loop is perfect for the situation where you want to execute a set of commands while some conditions are true. sometimes you need to execute a set of commands until a condition is true, then you need to use a until loop.