引号引起奇怪的变量
时间:2011-06-06
来源:互联网
本帖最后由 lionfun 于 2011-06-06 13:30 编辑
复制代码
补充两个脚本如下:
复制代码
结果为:
c----cccssbddddsd(有4个空白字符)
(注 -表示為空白)
复制代码
结果为:
c
-------------------------空白列
-------------------------空白列
-------------------------空白列(共三行)
cccssbddddsd
- #!/bin/bash
- var="'(]\\{}\$\""
- echo $var # '(]\{}$"
- echo "$var" # '(]\{}$" 和上面一句没什么不同.
- echo
- IFS='\'
- echo $var # '(] {}$" \字符被空白符替换了,为什么?
- echo "$var" # '(]\{}$"
- exit 0
- #!/bin/bash
- IFS=a
- a='caaaacccssbddddsd'
- for c in "$a" ;do
- echo $c
- done
c----cccssbddddsd(有4个空白字符)
(注 -表示為空白)
- #!/bin/bash
- IFS=a
- a='caaaacccssbddddsd'
- for c in $a ;do
- echo $c
- done
c
-------------------------空白列
-------------------------空白列
-------------------------空白列(共三行)
cccssbddddsd
作者: lionfun 发布时间: 2011-06-06
作者: xiaopan3322 发布时间: 2011-06-06
本帖最后由 hackooo 于 2011-06-06 13:50 编辑
lz,我也刚学几天,刚看到IFS这东东,
看看下面这个对你有没帮助:
在shell 完成参数变换和命令置换之后,对命令行中包含在IFS变量内的字符进行词法分析,这时,除非被引号引进来,多余的空格、制表符及换行符都被消除。并且明显的(没有引号的)空自变量也被消除。
你如果把IFS改变了,那没有被引号引进来的变量,里面的字符如果在IFS里,就会被消除,我的理解,不知道有没错误,呵呵
但是关于那个for循环里的那个,我就不清楚,发了贴问了,被楼上老兄说是13问:curse:
lz,我也刚学几天,刚看到IFS这东东,
看看下面这个对你有没帮助:
在shell 完成参数变换和命令置换之后,对命令行中包含在IFS变量内的字符进行词法分析,这时,除非被引号引进来,多余的空格、制表符及换行符都被消除。并且明显的(没有引号的)空自变量也被消除。
你如果把IFS改变了,那没有被引号引进来的变量,里面的字符如果在IFS里,就会被消除,我的理解,不知道有没错误,呵呵
但是关于那个for循环里的那个,我就不清楚,发了贴问了,被楼上老兄说是13问:curse:
作者: hackooo 发布时间: 2011-06-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28