变量和glob扩展机制 圆括号执行命令 双圆括号使用说明 双中括号使用说明

2015-06-13 18:31:00
admin
原创 2030
摘要:变量和glob扩展机制 圆括号执行命令 双圆括号使用说明 双中括号使用说明

一、变量和glob扩展机制

1、两次扩展:第一次-变量扩展,第二次-glob扩展;

2、alias只在终端上扩展,alias不在脚本中扩展;


getValue() {

    echo $value

}

1、在函数被调用时,变量才进行替换;

2、变量替换后才传递给命令,变量包含空格,命令的参数会变成多个;


listArchive() {

    ls *.tgz

}

在函数被调用时,glob通配符才进行替换;


二、圆括号执行命令

圆括号里面执行命令时会启动一个新shell,可以放心使用目录切换:

ps -ef | grep bash | grep -v grep | wc -l
1
(ps -ef | grep bash | grep -v grep | wc -l)
2


三、双圆括号使用说明

1、语法格式:((表达式1,表达式2…)),多个表达式使用英文逗号分隔,变量可以不加美元符号前缀;

2、在双圆括号结构中,可以像C语言一样写表达式,支持四则运算、逻辑运算;

3、在双圆括号结构中,可以像C语言一样写分支控制的条件测试;


四则运算:

a=1
((a=a+1)),a等于2
a=$((1,2,3)),a等于3


逻辑运算:

a=1

((a>=1)) && echo match
echo $((a>=1?1:0))


分支控制:

num=100
total=0
for((i=0;i<=num;i++))
do
((total+=i))
done
echo $total

total=0
i=0
while((i<=num))
do
((total+=i,i++))
done
echo $total

if((total>=5050));then
echo "ok"
fi


四、双中括号使用说明

1、单中括号和双中括号都用于条件测试;

2、双中括号支持逻辑运算:可以直接使用运算符&&、||、!

3、双中括号支持包含操作:x =~ y,x是否包含y,y可以是正则表达式;

发表评论
评论通过审核之后才会显示。