bash编程中,变量“用双引号”和“不用双引号”的区别
来源:互联网 发布:mac开机密码忘记 编辑:程序博客网 时间:2024/05/22 13:51
- 变量用双引号括起来的意义
- 推荐今后编程中变量必须用双引号括起来
- 附加echo的简单说明
同事遇到一个bash编程上的bug,一时没有解决方法。
后经百度,虽然找不到问题直接原因的出处;但是在知乎上看到了有人做出了合理的解释。
shell编程中用双引号引用参数和不用双引号有什么区别? - 知乎
https://www.zhihu.com/question/33466555
变量用双引号括起来的意义
如果变量不用双引号括起来,比如echo $a
,那么隐含的意义就是,把$a
变量的字符串,按照空格、制表符、换行符等符号来分割开。然后把这些分割后的每一项再按 glob
模式展开,最后把这些值,再用一个空格重新连接起来,并打印出来。
如果碰巧$a
变量的字符串中,有连续两个空格符号,或者有制表符,那么echo $a
就与程序员的思路出现了不一致。比如下例:
qilei@AFAAW-704030720:~$ cat a.sh#!/bin/basha="1 2 3 4"echo $aecho "$a"qilei@AFAAW-704030720:~$ ./a.sh1 2 3 41 2 3 4qilei@AFAAW-704030720:~$
推荐今后编程中,变量必须用双引号括起来
bash编程里的变量,全部用双引号括起来。这样更符合程序员的思路。
比如echo "$a"
举一反三,脚本命令的参数变量,也是同理的。
附加echo的简单说明
如下例所示,
echo -n 字符串;其中选项n表示输出文字后不换行。
echo -e 字符串;才能使用转义符号\
。
qilei@AFAAW-704030720:~$ echo "\n"\nqilei@AFAAW-704030720:~$ echo -e "\n"qilei@AFAAW-704030720:~$ echo -ne "\n"qilei@AFAAW-704030720:~$
0 0
- bash编程中,变量“用双引号”和“不用双引号”的区别
- bash中单引号和双引号的区别
- bash中单引号和双引号的区别
- bash中双引号与单引号的区别
- bash中单引号与双引号的区别
- [ZZ]Python 中单引号、双引号和三双引号的区别
- Python 中单引号、双引号和三双引号的区别
- Python 中单引号、双引号和三双引号的区别
- python中单,双引号和三个双引号的区别
- python中单,双引号和三个双引号的区别
- python中单,双引号和三个双引号的区别
- python 中 单引号、双引号和三双引号的区别
- python中单,双引号和三个双引号的区别
- python中单引号,双引号和三个双引号的区别
- python中单,双引号和三个双引号的区别
- python中单,双引号和三个双引号的区别
- python中单,双引号和三个双引号的区别
- python中单,双引号和三个双引号的区别
- 类图(Class Diagram)
- GitHub拉取非master分支代码
- rnn学习资料整理
- 用vector实现图的储存
- Boosting原理及其应用
- bash编程中,变量“用双引号”和“不用双引号”的区别
- DNS域名解析简单配置
- 比赛总结(轻工业学院校赛)
- POJ 1426 Find The Multiple
- 相比于深度学习,传统的机器学习算法难道就此没落了吗,还有必要去学习吗?
- NYOJ927 The partial sum problem
- java单元测试工具:JUnit4(三)——测试套件的使用和参数化设置
- 汇编程序:成绩分段统计
- 使用mybatis 操作数据库的实例程序