十.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

相关推荐

  • 作业:0803日

    1:三种权限rwx对文件和目录的不同意义:       对文件: r:能够查看文件内容 w:修改文件内容 x:执行文件,通常文件的执行权限能够发起一个进程       对目录: r: 能够cd进目录,使用ls查看目录内的文件列表 w: 能够…

    Linux干货 2016-08-05
  • 小白易患错误之绝对路径和相对路径的操作错误

    小白易患错误之绝对路径和相对路径的操作错误 作为一个不安稳的小白,一天都在那路乱折腾,恰巧,老师课程题目中有一题将/etc/skel 这个目录的文件除了..和. 复制到/home/USRNAEM 的家目录下。然后自以为是不按照老师的方法,自己折腾用了这样一条命令 [root@local skel]# ls -A .bash_lo…

    Linux干货 2016-08-05
  • Linux系统文件管理

    1、Linux的文件类型:       –:普通文件;       d:目录文件;       b:块设备:     &nbsp…

    Linux干货 2016-08-04
  • shell脚本总结

    shell进阶:列表生成方式:列表生成方式:(1) 直接给出列表 以空白为间隔(2) 整数列表:(a) {start..end}(b) $(seq [start [step]] end)(3) 返回列表的命令$(COMMAND)(4) 使用glob,如:.sh(5) 变量引用;$@, $while read line(用法)(用于遍历文件,进行处理…

    Linux干货 2017-07-10
  • 新的学期,新的开始:新的起点,新的终点!

    马哥教育Linux面授30期,

    2018-03-26
  • 第八周作业

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;     在线的主机使用绿色显示;     不在线的主使用红色显示; 2、如何给网络接口配置多个地址,有哪些方式? 方法3:在/etc/sysconfig/netw…

    2017-04-20