百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>服务器> 全面整理linux下shell中各种括号的作用及用途
分享文章到:

全面整理linux下shell中各种括号的作用及用途

发布时间:09/01 来源:未知 浏览: 关键词:
起初本人在学习shell编程的时候,被各种括号的用途搞得头昏脑涨。靠着逐渐的熟知和积存,才终于把握的所有的括号的用途。此刻,把本人总结出来的分享给大家。

注:看本篇文档的前提是你已经有了bash乃至shell编程的根基。

单小括号()

但小括号常见的两个作用:命令更换乃至数组的初始化

命令更换

当碰到$()构造时,shell就把括号的内命令施行,并返回结果

# tmp=$(date)
# echo $tmp
Fri Sep 18 10:22:30 CST 2020

初始化数组

# 初始化数组
lnmp=(linux nginx mysql php)

双小括号(())

记住双括号有一个特点,就是括号内的要相符c说话的语法,使用变量名时不需要加上$符号的。

双小括号的用途比力多,它可以用作整数运算(不支撑小数)。例如:$((3+2))

# echo $((1+3))
4
# n1=3
# echo $((n1+7))
10

只要相符c说话语法的运算扩展,都可以写在括号里

# echo $((3+4>5 ? 1 :0)) 
1
# echo $((3+4>9 ? 1 :0)) 
0

从新给变量赋值,这个时候不成在括号外加$符

# i=1;((i++));echo $i;
2
# i=1;((i=100));echo $i;
100

双括号还经常用在for轮回中

for ((i=0;i<5;i++));do echo -n $i;done

片面括号[]

片面括号最常见用于逻辑推断中,别的它还可以作为数组的下标,乃至在正则中表示一段范畴

shell足本中用于前提推断:

if [ 1 > 2 ] then
    ……
fi

也可以作为数组下标:

# echo ${lnmp[1]}
nginx

在正则中使用,表示一段范畴

[0-9]  表示数子0-9都行

双方括号

和单括号一样,双方括号也用在前提推断中,但它比片面括号愈加的通用。下面举一个例子:

[ a > b ] && [ a > 0 ]或[ a > b -a a > 0 ]
改成双括号
[[ a > b && a > 0 ]]

单花括号{}

花括号拓展。(通配(globbing))将对花括号中的文件名做扩展。在大括号中,不同意有空白,除非这个空白被援用或转义。

比方输入命令 rm -f {1,2}.txt将删除1.txt和2.txt文件。

单花括号中..的作用

两个点在这里表示一段范畴的意思。比方

echo {1..10}  #将打印1,2,3,4,5,6,7,8,9,10

花括号还常用在shell足本里,用于代码块。

初次之外,单花括号还可以用作变量内容的更换和删除乃至变量内容的测试,给出一个常见的例子。我们常常会推断一个变量可否存在,假如不存在,则给该变量设定新值。

val=${n1:-test}

上面代码表示假如n1这个变量不存在或为空,则将val变量值设定为test,不然val值为n1变量的值

以上就是全面整理linux下shell中各种括号的作用及用途的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板