shell 特殊字符和符号
在编写bash脚本的时候经常会使用到
"
双引号,'
单引号,`反引号。
参考:http://blog.51cto.com/strongit/1749169
单引号
被单引号包含的内容将失去其所有特殊字符的含义。
-
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
-
单引号字串中不能出现单引号(对单引号使用转义符后也不行)
双引号
功能与单引号相同,只是 $
参数替换 和 ` 命令替换例外。
-
双引号里可以有变量
-
双引号里可以出现转义字符
也就是在双引号中 $
和 ` 会发挥其功能。如果需要使用这两个符号,不使用其特殊含义,就需要 \进行转义。
TEST="FDAFDA\$PWD"
echo ${TEST}
脚本输出
FDAFDA$PWD
TEST="FDAFDA$PWD"
echo ${TEST}
脚本输出(脚本在Documents下执行)
FDAFDA/Users/xxxx/Documents
反引号
是一种命令替换的功能,其实就是将一个命令的输出替换到任意位置上。
一般使用的shell的替换的方式有两个:
-
反引号 ``
-
$(...)
PATH=`pwd`
PATH=$(pwd)
小括号
-
命令组 $(cmd1;cmd2;cmd3)
-
命替换 $(cmd)
tip
- 查看脚本所在目录 dirname 0` 或者 0)
shell 特殊字符和符号
在编写bash脚本的时候经常会使用到
"
双引号,'
单引号,`反引号。
参考:http://blog.51cto.com/strongit/1749169
单引号
被单引号包含的内容将失去其所有特殊字符的含义。
-
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
-
单引号字串中不能出现单引号(对单引号使用转义符后也不行)
双引号
功能与单引号相同,只是 $
参数替换 和 ` 命令替换例外。
-
双引号里可以有变量
-
双引号里可以出现转义字符
也就是在双引号中 $
和 ` 会发挥其功能。如果需要使用这两个符号,不使用其特殊含义,就需要 \进行转义。
TEST="FDAFDA\$PWD"
echo ${TEST}
脚本输出
FDAFDA$PWD
TEST="FDAFDA$PWD"
echo ${TEST}
脚本输出(脚本在Documents下执行)
FDAFDA/Users/xxxx/Documents
反引号
是一种命令替换的功能,其实就是将一个命令的输出替换到任意位置上。
一般使用的shell的替换的方式有两个:
-
反引号 ``
-
$(...)
PATH=`pwd`
PATH=$(pwd)
小括号
-
命令组 $(cmd1;cmd2;cmd3)
-
命替换 $(cmd)
tip
- 查看脚本所在目录 dirname 0` 或者 0)
网友评论