Shell脚本编程基础中() (()) [ ] [[ ]] 的使用

Shell脚本编程基础中() (()) [ ] [[ ]] 的使用

()

生成子进程,括号内的命令将会在子进程中运行,父进程不能够读取在子进程中创建的变量

例:

新建个脚本文件,写入

1

则执行结果为

2

$()相当于 ` `  ,返回括号内命令执行结果

3

(( ))

用作四则运算和逻辑运算,并且支持多个表达式

例:

4

当 (( )) 加$,则是将获得表达式值,赋值给左边变量

5

逻辑运算

6

[ ] 和 [[ ]]

用作四则运算时 [ ] 和 [[ ]] 用法相同

用作逻辑运算时中括号内前后需要加空格

7

在进行逻辑运算时,它们基本用法相同,但[[ ]] 可以支持通配符和扩展正则表达式

8

这个例子中*是作为通配符,表示te后可以有0个或多个任意字符

9

此例中用到的是扩展正则表达式,匹配的是e前面最多一个字符,e后边可以有0个或任意多个字符,并且以 .sh 结尾的字符串

需要注意的是:其中的通配符和扩展正则表达式不能使用“ ”

10

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88904

(0)
oranixoranix
上一篇 2017-11-26 16:03
下一篇 2017-11-26 17:17

相关推荐

  • linux下绘图工具rrdtool

    一、前言       为了做云缓存平台的技术储备,从零开始学习了rrdtool,rrdtool非常强大,刚接触会有摸不着边的感觉,尤其是一堆概念性的东西。学习的切入点便是这些概念,一一理解后你才能品尝到rrdtool的清香,首先要感谢ailms整理的“RRDtool简体中文教程 v1.01”,通俗易…

    Linux干货 2015-03-27
  • 08.08 笔记总结

    1. 使用sed显示特定行  sed -n '20p' /etc/passwd  // 显示/etc/passwd中第20行 命令相当于  cat /etc/passwd | head -20 | tail -1 2. sed -ibak '/^UUID.*/d' /etc/fstab &…

    Linux干货 2016-08-12
  • 马哥教育网络20期+第8周练习博客

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:链接层设备,基于MAC地址过滤。 集线器:物理层设备,基本都属于半双工模式。集线器与网桥在现在的局域网中基本都不用了。 二层交换机:基本MAC转发数据,功能齐全的可支持VLAN等功能。常见的有100/1000M、16口/24口/48口。 三层交换机:功能齐全的交换机,具备都…

    Linux干货 2016-08-01
  • 实验:配置静态路由1

    实验:配置静态路由1 IP地址规划如下: 注意,环境准备: 1、MAC地址不要有冲突,如果是复制的虚拟机,对于centos6需删除网卡定义文件rm -f /etc/udev/rules.d/70-persistent-net.rules 2、清空防火墙iptables -F(查看:iptables -vnL) 3、启用IP转发功能:echo 1 > /…

    2017-03-26
  • 显示历史命令时间

        历史命令中默认是不显示时间的,如果我们想要在使用history命令时显示时间可以通过设置环境变量来实现。     HISTTIMEFORMAT变量的具体参数与date命令中的类似,可以参数date命令的对日期时间格式时行修改。    &nbs…

    Linux干货 2015-05-02
  • keepalived的实验:主主模型

    修改配置文件 [root@proxy1 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived   global_defs { notification_email { root@localhost } notification_email_from k…

    2018-03-11