shell脚本各种括号、引号的使用心得

原创不易,转载请注明出处,谢谢。

整理东西的时候发现原来写shell脚本的时候记录的一些笔记,分享出来:

引号:

  • PS:以下所说的特殊字符不包括转义字符,若有转义字符生效选项,转译字符是在输出时被翻译的*
一:单引号
不论是在定义变量还是在使用变量的时候,当碰到第一个单引号开始就屏蔽任何特殊字符的含义,直至第二个单引号出现。
二:双引号
不论在定义还是使用变量的时候,双引号可以翻译特殊字符的内容
三:反引号
反引号中的内容被认为是一个系统命令

括号:

一:小括号:
	1.(代码段)结构:			代表命令组,可用括号外定义的变量,但括号中的变量定义和赋值只能在括号中生效。
	2.$(cmd)结构:			代表命令替换,先将括号中命令执行一次,将其标准输出代替其在原语句中的值
	3.用于给数组赋值,格式为arrayname=(a b c d)
	4.算术运算中表示高优先级	
二:双小括号:
	PS:双小括号内多个表达式使用","隔开,且变量前可不加$前缀使用
	1.((a=$b+1))结构:	用于给变量重新赋值
	2.((表达式))结构:
		①:为算术表达式:			若算术表达式结果为0,退出码则为1;结果不为0,退出码为0
		②:为逻辑判断表达式:			为真退出码为0,为假退出码为1
	3.$((算术表达式))结构:				此处表达式包括三目运算,返回值为运算出的实际结果
	4.用于for循环判断语句中
三:中括号:
	1.[ expression ]结构:			可用于代替test语句,相当于test expression
	2.arrayname[index]结构:		用于表示数组的元素编号
	3.[abc],[a-z]结构:				用于正则表达式匹配	
四:大括号:
	1.{a,b,c},{a...e}结构:			文件名扩展
	2.${a}bc结构:				表示变量的时候防止歧义	
	3.用于字符串扩展(字符串替换,移除,求长度.改变大小写)
	4.表示函数代码块
	5.用于引用数组
五:双中括号:
	不建议使用(当时用这个总是容易搞混,所以一直以来个人写shell一般不用这个)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值