shell 特殊字符和符号

2018-10-22  本文已影响0人  qingshuiting

shell 特殊字符和符号

在编写bash脚本的时候经常会使用到 "双引号,'单引号,`反引号。

参考:http://blog.51cto.com/strongit/1749169

单引号

被单引号包含的内容将失去其所有特殊字符的含义

  1. 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;

  2. 单引号字串中不能出现单引号(对单引号使用转义符后也不行)

双引号

功能与单引号相同,只是 $ 参数替换 和 ` 命令替换例外。

  1. 双引号里可以有变量

  2. 双引号里可以出现转义字符

也就是在双引号中 $ 和 ` 会发挥其功能。如果需要使用这两个符号,不使用其特殊含义,就需要 \进行转义。

TEST="FDAFDA\$PWD"
echo ${TEST}
脚本输出
FDAFDA$PWD
TEST="FDAFDA$PWD"
echo  ${TEST}

脚本输出(脚本在Documents下执行)
FDAFDA/Users/xxxx/Documents

反引号

是一种命令替换的功能,其实就是将一个命令的输出替换到任意位置上。

一般使用的shell的替换的方式有两个:

  1. 反引号 ``

  2. $(...)

PATH=`pwd`
PATH=$(pwd)

小括号

  1. 命令组 $(cmd1;cmd2;cmd3)

  2. 命替换 $(cmd)

tip

  1. 查看脚本所在目录 dirname 0;命令使用:\`dirname0` 或者 (dirname0)

shell 特殊字符和符号

在编写bash脚本的时候经常会使用到 "双引号,'单引号,`反引号。

参考:http://blog.51cto.com/strongit/1749169

单引号

被单引号包含的内容将失去其所有特殊字符的含义

  1. 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;

  2. 单引号字串中不能出现单引号(对单引号使用转义符后也不行)

双引号

功能与单引号相同,只是 $ 参数替换 和 ` 命令替换例外。

  1. 双引号里可以有变量

  2. 双引号里可以出现转义字符

也就是在双引号中 $ 和 ` 会发挥其功能。如果需要使用这两个符号,不使用其特殊含义,就需要 \进行转义。

TEST="FDAFDA\$PWD"
echo ${TEST}
脚本输出
FDAFDA$PWD
TEST="FDAFDA$PWD"
echo  ${TEST}

脚本输出(脚本在Documents下执行)
FDAFDA/Users/xxxx/Documents

反引号

是一种命令替换的功能,其实就是将一个命令的输出替换到任意位置上。

一般使用的shell的替换的方式有两个:

  1. 反引号 ``

  2. $(...)

PATH=`pwd`
PATH=$(pwd)

小括号

  1. 命令组 $(cmd1;cmd2;cmd3)

  2. 命替换 $(cmd)

tip

  1. 查看脚本所在目录 dirname 0;命令使用:\`dirname0` 或者 (dirname0)
上一篇下一篇

猜你喜欢

热点阅读