十.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 10:13
下一篇 2016-08-24 10:13

相关推荐

  • 2

    2

    Linux干货 2018-03-26
  • 关于网络配置管理

                                                      &nbsp…

    系统运维 2016-09-07
  • linux文件管理命令及用法

    Linux目录和路径   说到linux的文件管理,就不得不说文件的路径,在linux系统中,路径分为绝对路径和相对路径:绝对路径是从根目录/开始的,相对路径是以 . 或 ..开始的.  .  :表示当前目录; ..  :表示当前目录的上一级目录; –   :表示前一个工作目录; ~ &…

    Linux干货 2016-11-06
  • 计算机运维基础知识 Linux版

    计算机系统由硬件系统和软件系统组成 第一代计算机   电子管时代 第二代计算机   晶体管时代 第三代计算机   集成电路时代 第四代计算机   大规模集成电路时代 1964年,世界第一代计算机ENICA。用来计算弹道轨迹。 冯诺依曼  计算机之父 运算器,控制器,存储器,输入设备,输出设备。 巨型计算机,大…

    Linux干货 2016-08-04
  • kickstart安装系统

    很多时候要安装很多机器是很繁琐,我们可以利用kickstart网络启动更加方便的去安装系统。 首先准备环境,安装相关程序。 [root@localhost ~]# yum -y install sytem-config-kickstart [root@localhost ~]# yum&n…

    Linux干货 2016-09-19
  • 马哥教育网络班22期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。    [test2@localhost ~]$ who |cut -d " " -f1|sort -u   &nbsp…

    Linux干货 2016-08-30