linux下shell编程里的括号怎么使用
Admin 2022-05-19 群英技术资讯 1382 次浏览
这篇文章主要介绍“linux下shell编程里的括号怎么使用”,有一些人在linux下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变量的值
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux下make命令怎么样使用,有何作用?有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
6种方式:1、互斥锁,本质就是一个特殊的全局变量,拥有lock和unlock两种状态;2、自旋锁,是一个死循环,不停的轮询;3、信号量,用于控制访问有限共享资源的线程数;4、条件变量,可以让调用线程在满足特定条件的情况下运行,不满足条件时阻塞等待被唤醒;5、读写锁,一次只能有一个线程可以占有写模式的读写锁;6、屏障,是用户协调多个线程并行工作的同步机制。
linux系统之虚拟内存的相关内容,不知道朋友们了解多少,对这方面需要深入探索的朋友,可以看看小编所整理的资料,或多或少能在工作中帮助到你 。
解决方法:1、利用“vim /etc/fstab”重新分配tmp目录大小;2、添加“tmpfs /tmp tmpfs nodev,nosuid,size=需要的空间大小 0 0”将tmp文件更改为指定的空间大小;3、重新启动之后,利用“df -h”可以查看更改后的tmp空间大小。
linux中iostat命令怎么用?一些linux用户对于iostat命令的用处以及使用不是很了解,对此篇文章给大家分享一下iostat命令的使用,小编认为是比较实用的,感兴趣的朋友可以看一下。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008