资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Linux命令花括号意思 linux方括号什么意思

Linux 命令行大括号的具体意思

就是说在 /home/kevin/test 下查找名为cc.txt的文件 ,然后对查找到的文件执行rm -f 命令,强制删除。

成都创新互联公司专业为企业提供裕安网站建设、裕安做网站、裕安网站设计、裕安网站制作等企业网站建设、网页设计与制作、裕安企业网站模板建站服务,10多年裕安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

{} \;是 固定格式

Linux——花括号{}扩展(brace expansion)以及需要注意的问题

花括号扩展可以让我们按照花括号里的模式创建一连串字符串。

例如:

可以看到打印了:

由于默认模式下,不能忽略空格,这里使用 _ 代替空格。

这里的开头部分 Love_ 被称为 前导字符(preamble ),结尾部分 _Forever 被称为 附言(postscript) 。

我们还可以按顺序输出设定范围内的字母或者数字,例如:

终端里将打印出:

打印字母的时候有点 特殊问题 ,我们先来看下面按序输出大写的A到Z的字母:

再来看全是小写字母a到z:

目前为止都很正常,但是我们输入:

这时候打印出的是:

可以看到先输出全部大写字母,然后出现一堆符号,然后再全部小写字母。很奇怪对吧,等会再解释为什么这样,我们再来看输入:

这时候返回的是:

更加奇怪了是不是,这是为什么呢?

我们来看一个东西,ASCII码表:

这时候我们看65号的A到122号的z之间,除了大小写字母之外,是不是出现了那堆奇怪的符号。这是因为花括号扩展的顺序是按照ASCII码表的顺序输出的。

这时候我们也就可以理解 echo {a..Z} 为什么会返回那段字符串了,因为在ASCII码表中其实是倒序的。

不过经过测试可以发现,由于其他符号有已经被赋予特殊含义,就只有大小写字母之间会出现这个问题。需要在使用中注意哦!

花括号扩展支持嵌套,例如:

花括号扩展普遍应用于创建一系列文件或者目录,这时候就可能需要按照时间来命名,手动输入一个个输入太麻烦了,这时候也可以使用花括号扩展,如下:

可以看到 01 自动变成 1 ,这样不能让月份都为两位,不好看。可以这样:

LINUX SHELL中的特殊符号$大括号,##,%%等作用

有些小伙伴经常在SHELL脚本中看到某些特殊的取值或者赋值方式,比如${}连起来用的含义

那么我们直接上答案: 替换/截取

假设我们定义一个变量:

我们获取fileName的值使用 :

替换其中的tempDir1为tempDir3,我们可以使用命令:

结果

替换全部的Dir为Path

结果

#, ##, %,%%的作用

#符号A,##符号A,%符号A,%%符号A

为什么#是取左边的,%是取右边的呢?

看我们键盘的布局:

数字键 3 4 5 分别对应 # $ % ,

#和% 正好位于取值符号$的左右两边,你知道了么。。。。。。

常见用法:

加入我们调用一个脚本,入参有多个,

linux命令中touch {1..100}中的..是什么意思?

touch {1..100} 中, touch 是更新文件时间戳命令,无文件则创建。

(假如你的shell环境为bash)

{1..100}是bash的花括号展开表达式

1 表示起始的数字

.. 表示连续的意思

100表示终止数字的意思,也包括这个数字

步进为1, 左右闭合

命令执行时,bash会自动展开touch {1..100} 就变成了 touch 1 2 3 4 5 6 7 此处省略 100

截图是bash的源码中处理花括号(curly braces)的扫描代码。文件为: braces.c

并且这个花括号表达式是在3.0以上bash中使用。

linux 用户登陆系统后中括号里的字符串分别表示什么意思

baozi是当前登录用户名,localhost是主机名。

中括号中的内容表示是可选参数,可选一个或多个或不选,大括号中的内容表示只可选其中一个参数。

标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0、1和2。这里2的意思就是将标准错误也输出到标准输出当中。


当前名称:Linux命令花括号意思 linux方括号什么意思
URL地址:http://cdkjz.cn/article/hgcdjs.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220