换行符引发的血案
来源:互联网 发布:js.com 编辑:程序博客网 时间:2024/05/01 13:40
最近写shell脚本,遇到变量拼接的问题。
#!/bin/shv1=applev2=pearv3="${v1} ${v2}"echo v3结果输出"pear",v1的值始终不出来。
尝试了各种办法,包括:
v3="$v1 $v2"
v3=`echo $v1 $v2` ................
apple始终害羞着不出来。
查了很多资料,别人用类似写法,运行结果都正确,而我的运行结果永远都是v2,而且我发现不管拼接了多少个变量,拼接后始终只输出最后一个变量值。
蛋疼,绝望,抓狂。。。。。
无意中在一个帖子上看到类似问题,楼主是在windows下写的shell,然后传到unix上,也是只输出最后变量。楼主也是试了无数方法,最后绝望了,然后干脆在unix服务器上将脚本重写了一遍,然后运行,结果一切正常!
我笑了,因为我也是在windows下写的代码。
用sed -i 's/\r//' filename命令,将代码中的windows换行符替换成unix换行符,运行正常!
- 换行符引发的血案
- 一个换行符引发的“血案”
- Verilog 运算符优先级引发的血案
- ActiveX引发的“血案”
- size_t引发的血案
- 一个 * 引发的血案
- gets引发的血案
- Print 引发的“血案”
- lease引发的血案
- 一个“-”引发的血案
- MD5引发的血案
- 一个"/"引发的血案
- wrap_content引发的血案
- merge_all引发的血案
- PersistableBundle引发的血案
- 看球引发的血案
- 一个松果引发的血案
- 一个memset引发的血案
- 搜索引擎入门(一)
- OCP-1Z0-053-V12.02-420题
- md5和sha1
- Linux使用AWK判断文件是否是windows格式的
- ubuntu终端sudo java提示“command not found”解决办法
- 换行符引发的血案
- iOS UIKit Dynamics 系列教程之Gravity+Collision
- linux 系统的库: xxx_dev 和 xxx的世界
- HDU 3419 水搜索
- 服务器CentOS之编译环境
- android 开发 adb devices 找不到设置问题
- union数据结构的巧用-判断机器字节序
- 第一篇CSDN博客 installshield 去掉修复完成之后弹出的维修完成对话框
- 单板重启后,cinder-volume服务起不来