十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
有些小伙伴经常在SHELL脚本中看到某些特殊的取值或者赋值方式,比如${}连起来用的含义
成都创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为焉耆企业提供专业的成都做网站、成都网站制作、成都外贸网站建设,焉耆网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
那么我们直接上答案: 替换/截取
假设我们定义一个变量:
我们获取fileName的值使用 :
替换其中的tempDir1为tempDir3,我们可以使用命令:
结果
替换全部的Dir为Path
结果
#, ##, %,%%的作用
#符号A,##符号A,%符号A,%%符号A
为什么#是取左边的,%是取右边的呢?
看我们键盘的布局:
数字键 3 4 5 分别对应 # $ % ,
#和% 正好位于取值符号$的左右两边,你知道了么。。。。。。
常见用法:
加入我们调用一个脚本,入参有多个,
在Linux bash中可以使用命令行展开特性一步完成需要分开成多步完成的操作,达到事半功倍的效果。在Linux指令参数位置使用"{}" 将相应的参数括起来,括号中的参数以逗号分隔,然后bash在执行这一指令时会自动将括号中的内容进行展开。
示例1:
同时创建多个目录,在/tmp目录下创建a_c,a_d,b_c,b_d等目录,只需要在命令行中执行如下命令即可,无须单个创建:
执行结果如下:
示例2:
需要在/tmp/mylinux 目录下创建如下目录树。
创建命令如下:
执行结果如下:
在这里可以使用指令tree来查看目录的层级结构,以更直观的方式将目录树显示出来:
baozi是当前登录用户名,localhost是主机名。
中括号中的内容表示是可选参数,可选一个或多个或不选,大括号中的内容表示只可选其中一个参数。
标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0、1和2。这里2的意思就是将标准错误也输出到标准输出当中。