当前位置: 首页 > news >正文

福州营销网站建设模板网站建设优化400报价

福州营销网站建设模板,网站建设优化400报价,私人公司怎么做网站,龙南建设局网站一、Linux中的小括号(也叫圆括号)“( )”的用法 1.单小括号() 1)数组赋值或者初始化数组; 2)子Shell赋值:小括号中的内容会开启一个子shell独立运行;括号中以分号连接,最后一个命…

一、Linux中的小括号(也叫圆括号)“( )”的用法

1.单小括号()

1)数组赋值或者初始化数组; 
Linux中的括号用法
2)子Shell赋值:小括号中的内容会开启一个子shell独立运行;括号中以分号连接,最后一个命令不需要;各命令和括号无需空格;
Linux中的括号用法
3)实现多条命令集合:新开多条命令来执行,各个命令之间用分号隔开,最后一个命令必须要分号来隔开;
Linux中的括号用法
4)与”$“结合实现命令替换:等同于cmd 扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。此形式要注意使用的Shell类型。
Linux中的括号用法

2.双小括号(())

1)省略”$“进行算术运算,同时支持在括号内用“,”对多个表达式进行分割:
Linux中的括号用法
2)$((exp)) 和expr exp效果相同,计算数学表达式exp的数值;计算逻辑运算(常用于算术运算比较,双括号中的变量可以不使用$,支持多个表达式用 ”,“ 来隔开); 
Linux中的括号用法
3)支持跨进制运算:
Linux中的括号用法

二、Linux中的中括号(也叫方括号)“[ ]”的用法

1.单中括号 []

1)bash 的内部命令,[和test是等同的。if/test结构中的左中括号是调用test的命令标识,右中括号是关闭条件判断的。这个命令把它的参数作为比较表达式或者作为文件测试,并且根据比较的结果来返回一个退出状态码。 
2)在进行比较运算时使用。test和[]中可用的比较运算符只有==和!=,两者都是用于字符串比较的,不可用于整数比较;整数比较只能使用-eq,-gt这种形式。无论是字符串比较还是整数比较都不支持大于号小于号。如果实在想用,对于字符串比较可以使用转义形式,如果比较”ab”和”bc”:[ ab \< bc ],结果为真,也就是返回状态为0。[ ]中的逻辑与和逻辑或使用-a 和-o 表示。
Linux中的括号用法

Linux中的括号用法
3)字符范围。用作正则表达式的一部分,描述一个匹配的字符范围。作为test用途的中括号内不能使用正则。比如:[0-9]、[a-z]等。 
4)在一个array 结构的上下文中,中括号用来引用数组中每个元素的编号。
Linux中的括号用法

2.双中括号[[ ]]

1)[[是 bash 程序语言的关键字。并不是一个命令,[[ ]] 结构比[ ]结构更加通用。在[[和]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生参数扩展和命令替换。 
2)支持字符串的模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。[[ ]] 中匹配字符串或通配符,不需要引号。 
3)使用[[ … ]]条件判断结构,而不是[ … ],能够防止脚本中的许多逻辑错误。比如,&&、||、<和> 操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报错。 
4) bash把双中括号中的表达式看作一个单独的元素,并返回一个退出状态码。

三、Linux中的大括号(也叫花括号)“{ }”的用法

1.表达变量的值。在不发生歧义的情况下大括号可有可无,但建议添加上。

Linux中的括号用法

2.用大括号进行拓展:此时可以使用大括号对文件进行批量操作

1)第一种:对大括号中的以逗号分割的文件列表进行拓展。如:touch {file1,file2,file3}.sh。
Linux中的括号用法
2)第二种:对大括号中以点点(..)分割的顺序文件列表起拓展作用。如:touch {1..10}.sh 
Linux中的括号用法

3.特殊替换——${var:-string},${var:+string},${var:=string},${var:?string}

1)${var:-string}:当变量var值为空时,${var:-string}会把string作为值,当变量var值不为空时,${var:-string}会把var的值作为变量。 
Linux中的括号用法
2)${var:+string}:${var:+string}的替换规则和上面的相反,即当变量var的值不为空的时将值换成string,当变量var为空时则不替换或者说是替换成变量var的值,即空值。 
Linux中的括号用法
3)${var:=string}:当变量var值为空时,${var:=string}会将其赋值为string,且变量var也被赋值是string了,若变量var不为空时,${var:=string}的值都是变量var的值。此规则和${var:-string}类似,但不同之处在于若变量为空时,此规则会将“=”后面的值赋给变量。(很常用的一种用法是,判断某个变量是否赋值,没有的话则给它赋上一个默认值。) 
Linux中的括号用法
4)${var:?string}:若变量var不为空,则使用变量var的值来替换${var:?string};若变量var为空,则把string输出到标准错误中,并从脚本中退出。可利用此特性来检查是否设置了变量的值。
Linux中的括号用法
注意:在上面这四种替换结构中string的位置不一定必须是一个常量的,也可以是一个变量或是一条指令。
Linux中的括号用法

4.模式匹配替换——${var%pattern},${var%%pattern},${var#pattern},${var##pattern}

是去掉左边(在键盘上#在$之左边);% 是去掉右边(在键盘上%在$之右边);和%中的单一符号是最小匹配,两个相同符号是最大匹配。

1)第一种模式:${variable%pattern},这种模式时,shell在variable中查找,看它是否以给的模式pattern结尾,如果是,就把variable中的内容去掉右边最短的匹配模式。 
Linux中的括号用法
2)第二种模式:${variable%%pattern},这种模式时,shell在variable中查找,看它是否以给的模式pattern结尾,如果是,就把variable中的内容去掉右边最长的匹配模式。
Linux中的括号用法
3)第三种模式:${variable#pattern} 这种模式时,shell在variable中查找,看它是否以给的模式pattern开始,如果是,就把variable中的内容去掉左边最短的匹配模式。
Linux中的括号用法
4)第四种模式:${variable##pattern} 这种模式时,shell在variable中查找,看它是否以给的模式pattern结尾,如果是,就把variable中的内容去掉右边最长的匹配模式。
Linux中的括号用法
这四种模式中都不会改变variable的值,其中,只有在pattern中使用了“”匹配符号时,%和%%,#和##才有区别。结构中的pattern支持通配符,“”表示零个或多个任意字符,“?”表示仅与一个任意字符匹配,[…]表示匹配中括号里面的字符,[!…]表示不匹配中括号里面的字符。

5.字符串提取和替换——${var:num},${var:num1:num2},${var/pattern/pattern},${var//pattern/pattern}

1)第一种模式:${var:num},shell在var中提取第num个字符到末尾的所有字符。若num为正数,从左边0处开始;若num为负数,从右边开始提取字串,但必须使用在冒号后面加空格或一个数字或整个num加上括号,如${var: -2}、${var:1-3}或${var:(-2)}。

Linux中的括号用法
2)第二种模式:${var:num1:num2},num1表示位置,num2表示长度。意思就是从$var字符串的第$num1个位置开始提取长度为$num2的子串。num1和num2均不能为负数。有负数出现时,将会自动忽略第二个“:”及其后面的内容,相当于是在执行${var:num}。 
Linux中的括号用法
3)第三种模式:${var/pattern/pattern}表示将var字符串的第一个匹配的pattern替换为另一个pattern。 
Linux中的括号用法
4)第四种模式:${var//pattern/pattern}表示将var字符串中的所有能匹配的pattern替换为另一个pattern。
Linux中的括号用法

6.多命令集合:

{ cmd1;cmd2;cmd3;} 在当前shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开, 最后一个命令后必须有分号, 第一条命令和左括号之间必须用空格隔开。 
Linux中的括号用法
对{}和()而言, 括号中的重定向符只影响该条命令, 而括号外的重定向符影响到括号中的所有命令。

http://www.lbrq.cn/news/2404693.html

相关文章:

  • 网站网页设计工作内容长春seo整站优化
  • 佛山新网站建设服务搜索引擎优化工具
  • 济南网站建设泉诺关键词优化软件排行
  • 济南网站定制策划软文营销的成功案例
  • 办公用品网站建设share群组链接分享
  • 专做立体化的网站郑州网站托管
  • 如何用威客做网站推广 方案电子商务网页制作
  • 网站备案ip地址段网站自动提交收录
  • 做面包有哪些网站知乎江北seo页面优化公司
  • 本地网站建设多少钱学生没钱怎么开网店
  • 广州智能建站网站交易平台
  • 武汉人才网seo的中文意思
  • 海淀网站建设多少钱百度竞价排名的优缺点
  • 机械网站建设注意什么下载百度app下载
  • 深圳住建局官网登录入口青岛推广优化
  • html网站的直播怎么做的企业查询app
  • 公众号申请网站网站管理
  • 北京做软件最好的公司重庆seo网站收录优化
  • 西安网站建设维护达州seo
  • 营口做网站企业怎么样在百度上推广自己的产品
  • 做电商怎么找货源seo网站优化系统
  • 做室内设计的网站有哪些方面陕西seo关键词优化外包
  • 谷歌账号注册网站打不开黑龙江最新疫情
  • 淘宝客是如何做网站与淘宝对接的天津百度seo推广
  • 海外营销网站建设百度做免费推广的步骤
  • 做公众号时图片的网站外链代发免费
  • 延吉做网站ybdiran友情链接网站免费
  • 舅舅建筑网东莞优化怎么做seo
  • 一个页面多少钱惠州seo快速排名
  • 自己做微网站制作教程网站点击量查询
  • 【OD机试】池化资源共享
  • LP-MSPM0G3507学习--07定时器之二定时节拍
  • Product Hunt 每日热榜 | 2025-07-20
  • OpenTelemetry学习笔记(九):Elastic 对 OTLP 的原生支持
  • VTM 是“H.266/VVC 标准的官方参考软件”视频分析,入门教程,它存在的唯一目的就是“让学术界和工业界在同一把尺子上做实验
  • Git仓库使用