官术网_书友最值得收藏!

Command substitution

On a keyboard, there is one interesting key, the backward quote, `. This key is normally situated below the Esc key. If we place text between two successive backquotes, then echo will execute those as commands instead of processing them as plain text.

Alternate syntax for $(command) is the backtick character `, which we can see as follows:

    $(command) or `command`

For example:

  • We need to use proper double quotes, as follows:
    $ echo "Hello, whoami"  
  • The next command will print the text as it is; such as Hello, whoami:
    Hello, whoami
  • Use proper double quotes and single backquotes:
    $ echo "Hello, `whoami`."
    Hello, student
  • When we enclose whoami text in the ` characters, the same text that was printed as plain text will run as a command, and command output will be printed on the screen.
  • Use proper double quotes:
    $ echo "Hello, $(whoami)."
    Hello, student.
  • This is the same as earlier.

Another example:

    echo "Today is date"

Output:

    Today is date  

A similar example:

    /

Another example is:

    echo "Today is $(date)"  

The output is:

    Today is Fri Mar 20 15:55:58 IST 2015  

Furthermore, similar examples include:

    $ echo $(cal)

In this example, new lines are lost.

Another example includes:

    $ echo "$(cal)"  

Here, the display is properly formatted.

Next, the nesting of commands is as follows:

    $ pwd
    /home/student/work
    $ dirname="$(basename $(pwd)) "
    $ echo $dirname

This command shows us that the base directory for the current directory is student.

主站蜘蛛池模板: 横山县| 额尔古纳市| 平阴县| 正镶白旗| 宿州市| 固阳县| 镇巴县| 永泰县| 彰化县| 沈丘县| 甘泉县| 石首市| 淳安县| 牟定县| 新郑市| 工布江达县| 桂林市| 景谷| 宽甸| 天长市| 洪雅县| 涡阳县| 连江县| 巢湖市| 光山县| 河曲县| 遂平县| 苍南县| 天门市| 绵阳市| 房山区| 萍乡市| 金华市| 伽师县| 滦南县| 泾川县| 河间市| 肃宁县| 冀州市| 增城市| 福安市|