shell回顾

测试基础知识

测试表达试:

shell编程多学系统脚本

1.条件测试三种语法:

. text <测试表达式>

. [<测试表达式>]     单中括号用-a 或 –o,不支持&&,||

.[[<测试表达式>]]   双中括号用&&,||

1

[[ -f read_num.sh && -x read_num.sh ]] && echo 666||echo 000

666

2.文件测试表达式:

2018-05-17_160012

2018-05-17_160450

用大括号放多个命令,即做多件事,这些命令是一个整体

2018-05-17_160925

3.字符串测试表达式:

. -z相当于-n

[root@centos6 ~/bin]$[ -n “fdklfj” ] && echo 1||echo 0

1

[root@centos6 ~/bin]$[ ! -z “hkjhkj” ] && echo 1||echo 0

1

2018-05-17_161417

3.字符串测试表达式:

. -z相当于-n

[root@centos6 ~/bin]$[ -n “fdklfj” ] && echo 1||echo 0

1

[root@centos6 ~/bin]$[ ! -z “hkjhkj” ] && echo 1||echo 0

1

3.整数比较

用法建议如下表:

2018-05-17_163708

小结:整数比较推荐下面用法

[ $num1 –eq $num2 ]  注意空格,和比较符号

(($num1>$num2))   无需空格,常规数学比较符号

系统脚本例子:

[root@centos6 ~]$grep -w “\-eq” /etc/init.d/nfs

        [ $RETVAL -eq 0 ] && RETVAL=$rval

                [ $RETVAL -eq 0 ] && RETVAL=$rval

                [ $RETVAL -eq 0 ] && RETVAL=$rval

        [ $RETVAL -eq 0 ] && RETVAL=$rval

                [ $RETVAL -eq 0 ] && RETVAL=$r

 

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

(0)
单爆手单爆手
上一篇 2018-05-17 16:19
下一篇 2018-05-17 17:07

相关推荐

  • 如何搭建CA(向CA申请证书)

    系统中搭建CA CA的配置文件 vim /etc/pki/tls/openssl.cnf 默认 CA_default  (可建多个) [ CA_default ] dir             = /etc/pki/CA      # Where everything is kept  CA的工作目录 certs           = $dir/cert…

    Linux笔记 2018-05-19
  • linux sed用法总结

    处理文本的工具sedStream EDitor, 行编辑器sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空模式空间,…

    Linux笔记 2018-04-15
  • IP 命令使用

    ip 1.作用ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。几乎所有的Linux发行版本都支持该命令。 2.格式ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]] 3.主要参数OPTIONS是修改ip行为或改变其输出的选项。所…

    Linux笔记 2018-05-05
  • HTTP协议介绍

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。

    2018-06-19
  • shell脚本进阶

    一、for循环 for 变量名 in 列表;do 循环体 done   列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq [start [step]] end) (3) 返回列表的命令 $(COMMAND) (4) 使用glob,如:*.sh (5) 变量引用; $@, $* &nbsp…

    Linux笔记 2018-05-14
  • rsyslog、nsswitch、pam

    rsyslog: 日志:历史事件日志 历史事件: 时间,事件 事件级别(日志级别):事件的关键性程度; 事件:系统引导启动、应用程序启动、应用程序尤其是服务类应用程序运行过程中的一些事件; 系统日志服务: syslog: syslogd: system klogd:kernel 事件格式较为简单时,可统一由syslog进行记录: 事件产生的日期时间 主机 进…

    Linux笔记 2018-06-07