|
||
Lesson 3
Objective
|
Embedded command syntax
Form correct embedded command statements. |
|
|
Forming correct embedded command statements entails using back quotes correctly with other elements of the command syntax.
Using backquotes
First you must surround the embedded command with back quotes.
Take a minute to locate the back-quote key on your keyboard. Youll often find the back quote on the same key as the tilde (~)
character. The position of this key changes from keyboard to keyboard. Do not confuse the back-quote character with the
single-quote character. The single-quote character is on the same key as the double-quote character.
Using other quotes
When you are using back quotes, and other quotes are necessary in your statement, dont use single quotes; use double quotes or
no quotes at all. The following command, which uses double quotes, will work properly:
$ echo "You are currently in the `pwd ` directory" You are currently in the /tmp directory
The embedded pwd command returns the name of your current working directory, which is then included in the echo
commands output.
The same command, this time using single quotes, will not work properly: $ echo ‘You are currently in the `pwd` directory’ You are currently in the `pwd` directory
Single quotes dont allow you to use embedded commands. They preserve the back-quotes exactly as seen and do not interpret them
as a symbol to perform embedded command execution. If you do not want the shell to perform embedded execution on back quotes you can
surround them in single quotes.
Using pipes
$ echo "There are `cat fullnames | wc –l` lines in your file" There are 5 lines in your file
The embedded command is always executed first. It counts the number
of lines in the fullnames file. In the above example, the output of the command cat fullnames | wc l is 5. This
output is inserted into the surrounding echo command to produce the output you see.
Carriage returns
The shell retains carriage returns in your embedded commands output when you use double quotes in the command surrounding your
embedded command. The shell translates carriage returns into spaces if you omit the double quotes. For example, assume you have a
file called fullnames with the following contents:
$ cat fullnames Harry Smith Fred Brown Sally Green Doris Jones Martha Jackson
If you cat this file in an embedded command surrounded by double quotes, the carriage returns will be retained in the output. The
process of displaying a files contents with the UNIX cat command is called cating the file.
$ echo "The names `cat fullnames` are in your file" The names Harry Smith Fred Brown Sally Green Doris Jones Martha Jackson are in your file $ echo The names `cat fullnames` are in your file The names Harry Smith Fred Brown Sally Green Doris Jones Martha Jackson are in your file
Click the exercise button to practice forming correct embedded statements
Embedded Command - Exercise |
||
|
|
||