说起Shell脚本,免不了用变量。特别是对于这种一堆符号表示变量的语言来说,你不了解一下相关变量的本意,根本无从下手。譬如写个循环遍历,$#就起了好大作用。所以还是有必要记录一下,也是对学习的一个笔记,方便以后查找。
另外有一些运算符也相当有意思。
//---------------------分割线,下文为笔记内容-------------------------
${var:
-word} 如果var存在且非null,返回它的值;否则返回word
${var:
=word} 如果var存在且非null,返回它的值;否则将word赋值给var,并返回var的值
${var:
?word} 如果var存在且非null,返回它的值;否则显示var:word
${var:
+word} 如果var存在且非null,返回word;否则返回null
${var
#pattern} 匹配前缀(最小匹配),并返回余下内容
${var
##pattern} 匹配前缀(最大匹配),并返回余下内容
${var
%pattern} 匹配结尾(最小匹配),并返回余下内容
${var
%%pattern} 匹配结尾(最大匹配),并返回余下内容
Shell的算术运算符基本上与C一致,就不多说了。
算术运算符可以放置在$((...))里面,也就是内嵌算术,也称为
算术展开。譬如 echo $((2>1)) 打印结果为1。(1表示真,0表示假)
$
@ 当前命令行所有参数。置于双引号中,表示个别参数
$
* 当前命令行所有参数。置于双引号中,表示将命令行所有参数当初一个单独参数
1-125 命令退出失败,失败返回的相关值由程序定义(譬如,程序内退出只执行 exit 2,则返回为2)
本文转自 Ron Ngai 博客园博客,原文链接:http://www.cnblogs.com/rond/p/3543367.html ,如需转载请自行联系原作者