十.Linux博客-2016年8月12日变量、算术表达式、测试

格式说明:

操作

概念

命令

说明及举例


十.变量、算术表达式、测试


bash -n +脚本 检查语法错误

.bash_profile 配置文件
PATH=$PATH:$HOME/bin:. 加.方便但不安全

unset name 删变量name

小驼峰 第一个单词字母小写,以后单词首字母大写
大驼峰 每一个单词首字母都大写

set 查看所有变量和函数

本地变量

name=meng

环境变量

export name=meng 
或者用之前 在本地变量前面加export

export 显示所有环境变量
env 显示所有环境变量

只读和位置变量

readonly name=meng 
declare -r name=meng

$* 接收的参数是合并之后的一个参数
$@ 接收的参数是原本的参数
以上两种用法只有被双引号包起来的时候才会有差异

算术表达式

let var=算术表达式
var=$[算数表达式]
$[EANDOM%50] 50内随机数0-49
$[EANDOM%50+1] 50内随机数1-50
let a++
let a--

逻辑运算

&& 短路与
|| 短路或
^ 亦或 俩结果不同才为真

退出状态

$? 判断上一命令执行结果,0为真

十.Linux博客-2016年8月12日变量、算术表达式、测试ping IP,1秒返回结果,如果通了,打印…,r如果不通,打印。。。

条件测试

[[ -n $A ]] 判断变量是否是非0
[[ $numa -eq $numb]]比较数字是否相等

十.Linux博客-2016年8月12日变量、算术表达式、测试 ————————————–

十.Linux博客-2016年8月12日变量、算术表达式、测试

字符串测试

十.Linux博客-2016年8月12日变量、算术表达式、测试

存在性测试

test -a file
test -e file

存在性及类别测试

[ -L /]

十.Linux博客-2016年8月12日变量、算术表达式、测试

文件权限测试

[ -r /etc/issue ]

十.Linux博客-2016年8月12日变量、算术表达式、测试

文件特殊权限测试

[ -g /usr/bin/passwd ]

十.Linux博客-2016年8月12日变量、算术表达式、测试

文件大小测试

[ -s f1 ]

文件是否打开

[ -t f1 ]

十.Linux博客-2016年8月12日变量、算术表达式、测试

read

/#!/bin/bash
判断IP是否符合
read -p "请输入IP:" ip
ip1=echo $ip|cut -d. -f1
ip2=echo $ip|cut -d. -f2
ip3=echo $ip|cut -d. -f3
ip4=echo $ip|cut -d. -f4
[[ $ip1 =~ [0-255] ]]&&[[ $ip2 =~ [0-255] ]]&&[[ $ip3 =~ [0-255] ]]&&[[ $ip4 =~ [0-255] ]] && echo 符合 || echo 不符合

原创文章,作者:自己泡面,如若转载,请注明出处:http://www.178linux.com/39197

(0)
自己泡面自己泡面
上一篇 2016-08-24
下一篇 2016-08-24

相关推荐

  • 分别设置CentOS 6与CentOS 7的开机启动为3模式 遇到的问题

    vim /etc/inittab (centos 6) 把id:5: initdefault: 改成3模式 reboot 2  (centos7) vim /etc/inittab 打开文件没有id:5: initdefault: 这一项 systemd使用比sysvinit的运行级别更为自由的target概念作为替代 第三运行级: multi-u…

    2017-05-18
  • linux入门

    基本知识和操作用法。

    Linux干货 2017-11-30
  • 高级文件系统管理2

    五、btrfs文件系统     技术预览版     Btrfs (B-tree, Butter FS, Better FS), GPL, Oracle,2007, CoW     核心特性:     …

    Linux干货 2016-09-09
  • N26-第三周博客

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只 显示一次即可。 [yang@localhost /]$ who | cut -d" " -f 1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 [root@localhost tmp]# last | head -1 3、取出当前系…

    Linux干货 2017-02-08
  • 使用monit搭建一个监控系统

     上周用monit搭建或者说定制了一个监控系统,来监控服务器发生事情。当然了主要是监控异常,因为我们的产品属于服务器类型,很多进程都daemon,要不停的运行。我们搭建监控目的不过是出现问题能够及时的知道,平时可从web UI上看到整个系统的状况,同时它本身要轻量级,不要影响性能。当然了类似的产品很多了,比如Ganglia,我在老科长波哥曾经搭建过…

    Linux干货 2015-02-15
  • CentOS上配置https服务

    在CentOS6.9(http2.2)配置https   创建前准备:       安装opensssl包  和 http2.2 1、在主机(192.168.109.100)创建私有CA   (1)获取私钥       …

    2017-06-04