linux shell 转义符 您所在的位置:网站首页 ascii中空格比逗号 linux shell 转义符

linux shell 转义符

2023-12-14 17:27| 来源: 网络整理| 查看: 265

一些转义字符的表示的特殊意思

和echo,sed连用时: \n

表示新行

\r

表示回车

\t

表示水平的制表符

\v

表示垂直的制表符

\b

表示后退符

\a

表示“警告”(蜂鸣或是闪动)

\0xx

翻译成ASCII码为八进制0xx所表示的字符

例子 5-2. 转义字符

1 #!/bin/bash 2 # escaped.sh: 转义字符 3  4 echo; echo 5  6 echo "\v\v\v\v" # 打印出 \v\v\v\v literally. 7 # 用带着选项-e的'echo'会打印出转义字符串. 8 echo "=============" 9 echo "VERTICAL TABS" 10 echo -e "\v\v\v\v" # 打印四个垂直的制表符. 11 echo "==============" 12  13 echo "QUOTATION MARK" 14 echo -e "\042" # 打印出字符" (引号, 它的八进制ASCII码为42). 15 echo "==============" 16  17 # 当使用像$'\X'的结构时,-e选项是多余的. 18 echo; echo "NEWLINE AND BEEP" 19 echo $'\n' # 新行. 20 echo $'\a' # 警告 (蜂鸣). 21  22 echo "===============" 23 echo "QUOTATION MARKS" 24 # 版本2开始Bash已经允许使用$'\nnn'结构了. 25 # 注意在这里,'\nnn'表示一个八进制的值. 26 echo $'\t \042 \t' # Quote (") framed by tabs. 27  28 # 使用$'\xhhh'结构也可以使用十六进制数来转义. 29 echo $'\t \x22 \t' # Quote (") framed by tabs. 30 # 多谢Greg Keraunen指出这个.. 31 # 早期的Bash版本允许用'\x022'.(译者注,现在不行了) 32 echo "===============" 33 echo 34  35  36 # 用ASCII码值把字符赋给变量. 37 # ---------------------------------------- 38 quote=$'\042' # 引号"被赋给变量quote了. 39 echo "$quote This is a quoted string, $quote and this lies outside the quotes." 40  41 echo 42  43 # 用连串的ASCII码把一串字符赋给变量.. 44 triple_underline=$'\137\137\137' # 137是字符'_'的ASCII码. 45 echo "$triple_underline UNDERLINE $triple_underline" 46  47 echo 48  49 ABC=$'\101\102\103\010' # 101, 102, 103分别是A, B, C字符的八进制ASCII码. 50 echo $ABC 51  52 echo; echo 53  54 escape=$'\033' # 033是ESC的ASCII码的八进制值 55 echo "\"escape\" echoes as $escape" 56 # 不可见的输出. 57  58 echo; echo 59  60 exit 0

参考扩展结构$' '的另外一个例子xample 34-1.

\"

表示引号(")的字面意思

1 echo "Hello" # Hello 2 echo "\"Hello\", he said." # "Hello", he said.

\$

表示美元符($)的字面意思(如果在\$跟上变量名将不会引用变量的值)

1 echo "\$variable01" # 输出是$variable01

\\

表示反斜杠(\)的字面意思

1 echo "\\" # 输出是\ 2  3 # 然而 . . . 4  5 echo "\" # 在命令行,这句将会打印SP2变量值(译者注:变量SP2是输入未完成提示符),并要求你继续输入.. 6  # 在脚本文件里, 这句会出错.

Note

反斜杠的作用要看它是否是自我转义,被引用,或出现在命令替换结构或是在here document里.

1  # 简单的转义和引用 2 echo \z # z 3 echo \\z # \z 4 echo '\z' # \z 5 echo '\\z' # \\z 6 echo "\z" # \z 7 echo "\\z" # \z 8  9  # 命令替换 10 echo `echo \z` # z 11 echo `echo \\z` # z 12 echo `echo \\\z` # \z 13 echo `echo \\\\z` # \z 14 echo `echo \\\\\\z` # \z 15 echo `echo \\\\\\\z` # \\z 16 echo `echo "\z"` # \z 17 echo `echo "\\z"` # \z 18  19  # Here document 20 cat


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有