Shell 变量用双引号
Shell 变量用双引号引起来,双引号就是表示这个双引号内为一个字符串。
对于 if 条件语句里所有的字符串的比较时,最好是在变量的外面加上双引号。特别是 if -n 判断字符串是否为null时候(null意思就是字符串长度为0),一定要加上双引号。否则,像下面的case就会出错。
a=""
if [ -n $a ] 等价于 if[ -n ]
对于字符串长度为0时,相当于没有参数,这句总返回为真。明明a的为空串,长度为空,但是却判断出来为非空字符串。
改为if [ -n "$a" ]就没有此问题,可以判断出来为此为空字符串。
对于字符串的变量,一个比较特殊的情况,就是数组变量。这个时候变量外面不能用双引号,否则的话,shell会把双引号里的内容当作一个字符串,而不会去以空格分割里面的内容。
arr="12 3 4 5"
for i in $arr ---当数组用,所以不能加双引号
do
echo $i
done
结果:
1
2
3
4
5
arr="12 3 4 5"
for i in "$arr" --加了双引号,就会将$arr的内容作为一个字符串一起输出
do
echo $i
done
结果:
1 2 3 4 5
所以,一般最好是加上双引号, 但是对于数组类型变量,不加双引号。
Shell 变量用双引号相关推荐
- bash 变量加双引号与不加双引号效果大不相同!
bash 变量加双引号与不加双引号效果大不相同! 做一个实验: temp_var=$(route -n) temp_var 变量加""是这样的, 可认为是原样输出 hjj@hjj- ...
- shell中定义变量用双引号和单引号以及不用引号的区别
1. 单引号 使用单引号的情况下,不管里面的是否有变量或者其他的表达是都是原样子输出 2. 双引号 如果其定义变量的时候使用双引号的话,则里面的变量或者函数会通过解析,解析完成后再输出内容,而不是把双 ...
- shell变量加单引号sql_关于shell:在Bash中的命令中扩展变量的单引号
我想从bash shell脚本中运行一个命令,该脚本在单引号和变量中包含单引号和一些其他命令. 如repo forall -c '....$variable'. 在这种格式中,对$进行转义,不展开变量 ...
- shell 脚本中双引号、单引号、反引号的区别,其他命令
如果make执行的命令前面加了@字符,则不显示命令本身而只显示它的结果; Android中会定义某个变量等于@,例如 hide:= @ 通常make执行的命令如果出错(该命令的退出状态非0)就立刻终止 ...
- Shell脚本中 双引号(“”)单引号(‘’)反引号(``)的区别
1.由单引号括起来的字符都作为普通字符出现.特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释. 2.由双引号括起来的字符,除$(美元符号).\(反斜杠).'(单引号).和" ...
- python键盘怎么输入双引号_如何在Python中使用字符串变量打印双引号?
打印双引号很棘手,因为语法本身要求将双引号括起来以打印字符串.在本文中,我们将看到如何使用print语句打印这些双引号. 下面的情况将不会打印双引号.代码的前两行将不提供任何输出,而最后一行将通过错误 ...
- Linux Shell 单引号 双引号 使用区别
From:https://blog.csdn.net/lifu119/article/details/7868231 在bash脚本中,有三种引号 1. 单引号 ' 2. 双引号 " 3. ...
- Java-输出字符型变量时与双引号拼接问题
public class Demo {public static void main(String[] args) {/*** 字符型变量初始值是字符* * 结论:* * 当输出语句中没有拼接&quo ...
- js里给变量拼接双引号
先来看一下最终效果: 但是p标签是要用js生成的.data_attr自定义属性值是一个变量. var data='qq289483936';var p='<p data_attr='+data+ ...
最新文章
- ABAP术语-Object Name
- netty 文件传输服务器,Netty之二进制文件传输
- iftop 监控linux服务器网卡流量
- layui 如何去dom_layui 的基本使用介绍
- 线程的基本协作和生产者消费者
- 实时的毛发绘制 szlongman
- linux内核Device Drivers设备驱动程序
- CSDN客服联系方式
- hzk16 8 16c语言示例,[资料共享]汉字库HZK16的使用,强烈推荐: 486959c6.rar
- HTML和CSS仿唯品会首页,ecshop仿唯品会2014全模板带团购品牌特卖
- 国密算法SM3与SM4简介与应用
- Lepus安装与配置
- Springboot 搭建oss文件上传服务器
- IC卡读卡器调用php,IC卡读卡器如何进行IC卡的读卡?
- 打印系统开发(55)——打印机监视器是什么,为什么安装不上?
- 【课程设计】僵尸大战植物 Zombies vs.Plants
- 光学仿真案例(1) 铌酸锂非线性波导仿真模拟 FDTD仿真
- 使用Unity开发RPG游戏完整指南
- 为什么要在项目中使用缓存呢?
- C++重学之路 5 控制语句和逻辑运算符