Bash引用变量和转义
来源:互联网 发布:网络兼职项目 编辑:程序博客网 时间:2024/04/30 09:44
-----------------------------------------------------------------Sun-------------------------------------------------------------------
一、引用变量
在一个双引号中通过直接使用变量名的方法来引用变量,一般情况下都是没问题的。这么做将
阻止所有在引号中的特殊字符被重新解释(即都被当作普通的字符串),包括变量名,但是 $
、`(后置引用)
和 "\"(转义符)除外。保留 $ 作为特殊字符的意义是为了能够在双引号中也能够正常的引用变量("$variable")。
使用双引号还能够阻止单词分割,即使这个参数包含有空白,单词也不会被分隔开。如 variable1="a variable containing five words"
#!/bin/bashvar="(]\\{}\$\""echo $varecho "$var"IFS='\'echo $varecho "$var"echo '$var'
结果为: (]\{}$"
(]\{}$"
(] {}$" // \字符被空白符替换了!!!
(]\{}$" // 用了双引号的则没有!
$var // 单引号不允许引用变量
IFS(Internal Field Seperator)在Linux的shell中预设的分隔符。设置了bash内置变量IFS
后,再使用echo
输出时,会将所设定的
字符用空格去代替。
二、转义
转义是一种引用单个字符的方法。一个前面放上转义符(\)的字符就是告诉shell 这个字符按照字面的意思进行解释,换句话
说,就是这个字符失去了它的特殊含义。
符号 说明
\n
表示新的一行\r
表示回车\t
表示水平制表符\v
表示垂直制表符\b
表示后退符\a
表示"alert"(蜂鸣或者闪烁)\0xx
转换为八进制的ASCII码, 等价于0xx\"
表示引号字面的意思echo "\"hello\",he said."echo "\$var"echo "\\"
结果: "hello",he said.
$var
\
#!/bin/bash # -e 打印转义符echo "\v\v\v\v" # \v\v\v\vecho -e "\v\v\v\v" #竖直制表符echo -e "\042" # " 8进制的ASCII下,42是 "echo $'\n' # \necho $'\t \042 \t' # "echo $'\t \x22 \t' # "效果如图。
1.赋值给变量的字符串的元素也会被转义,但是不能把一个单独的转义符赋值给变量。
2.转义一个空格会阻止命令行参数列表的“单词分割”问题。
3.转义符也提供续行功能,也就是编写多行命令的功能。
每一个单独行都包含一个不同的命令,但是每行结尾的转义符都会转义换行符,这样下一行会与上一行一起形成一个命令序列 1 0
- Bash引用变量和转义
- Shell(Bash) - 变量间接引用
- bash变量和运算
- bash笔记之变量,引用,测试
- Bash的变量和参数
- 引用变量和引用数组
- bash变量-用户自定义变量和环境变量/
- 特殊字符及其引用和转义
- shell 变量和引用
- 变量赋值和引用
- 变量赋值和引用
- 变量和引用
- 变量和引用
- shell变量和引用
- bash echo去回车和翻译转义字符
- string.xml 特殊符号转义和变量使用
- 为 bash 转义文件名
- bash中的转义
- 碎碎念3
- Uva 10340 - All in All
- SVN常用命令(开启+关闭)
- 碎碎念4
- PHP填坑记之FastCGI与mod_php详解
- Bash引用变量和转义
- Eclipse最实用快捷键
- Java学习笔记一:逻辑运算符
- AtomicInteger简介
- iOS10本地通知的探索
- 碎碎念5
- python 中的三引号 ''' '''
- android如何改变listview中item选中时文字的颜色
- 用MATLAB生成MIF文件