bash(字符串)
\ 反斜杠(转义)
【bash(字符串)】紧跟着的 \
的字符字面量会被保留,输出的时候去掉 \
。
一个特例是 \newline
(反斜杠+换行符),这个组合会被当做长字符串换行,输出的时候将 \newline
(反斜杠+换行符)移除、忽略。
$ echo \a
a$ echo \aaa
aaa$ echo aaa\
> ssss
aaassss
'' 单引号 无法使用转义
$ echo 'aaa'
aaa
"" 双引号 基本作用:保留字面量
特例:
- '$':
# $name 引用变量名 $ test=asdfg $ echo "$test" asdfg $ echo "11${test}22" 11asdfg22# $(command) 执行命令,将结果扩展为字符串 $ echo "aaaa$(ls)ssss" aaaa1.txt 2.txtssss# $(( expression )) 执行算术表达式,将结果扩展为字符串 $ echo "aaaa$(( 3+4 ))ssss" aaaa7ssss
- '`':
# `command` 执行命令,将结果扩展为字符串 $ echo "aaaa`ls`ssss" aaaa1.txt 2.txtssss
- '\':
# 反斜杠+普通字符 $ echo "\a" \a# '$', '`', '"', '\', or 'newline'(换行) # 反斜杠+以上几个特殊符号,输出的时候反斜杠会被删除;其中,`newline` 也会被删除 $ echo "\$\`\"==\ > ==" $`"====# 不管开启或者关闭历史扩展的功能,`反斜杠+!`的输出都同 `反斜杠+普通字符` 一样 $ echo "\!-1" \!-1
- history expansion 开启时,'!':
# 如果开启了历史扩展的功能 $ echo "!-1" //打印上一条历史命令 echo "echo "\a"" echo a
$ echo $'a\naa'
a
aa
$"string" 会基于当前语言环境对 string 进行翻译。略。
参考
- Bash Reference Manual:https://www.gnu.org/software/...
推荐阅读
- 2018-02-06第三天|2018-02-06第三天 不能再了,反思到位就差改变
- Shell-Bash变量与运算符
- 吃了早餐,反而容易饿(为什么?)
- 父母越不讲道理,孩子反而越优秀!说的是你吗()
- 一起来学习C语言的字符串转换函数
- 改变自己,先从自我反思开始
- leetcode|leetcode 92. 反转链表 II
- 那些反串过的艺人-最是美色如醉人
- 字符串拼接成段落,换行符(\n)如何只执行n-1次
- 反脆弱性(工作越稳定,人生越脆弱!)