linux shell脚本常用语句
linux shell 指令 诸如-d, -f, -e之类的判断表达式:
文件比较运算符
-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]
-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]
-f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]
-L filename 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]
-r filename 如果 filename可读,则为真 [ -r /var/log/syslog ]
-w filename 如果 filename可写,则为真 [ -w /var/mytmp.txt ]
-x filename 如果 filename可执行,则为真 [ -L /usr/bin/grep ]
filename1-nt filename2 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果 string长度为零,则为真 [ -z "$myvar" ]
-n string 如果 string长度非零,则为真 [ -n "$myvar" ]
string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three" ]
string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]
算术比较运算符
num1-eq num2 等于 [ 3 -eq $mynum ]
num1-ne num2 不等于 [ 3 -ne $mynum ]
num1-lt num2 小于 [ 3 -lt $mynum ]
num1-le num2 小于或等于 [ 3 -le $mynum ]
num1-gt num2 大于 [ 3 -gt $mynum ]
num1-ge num2 大于或等于 [ 3 -ge $mynum ]
举例:
if [ $# != ]; then
echo arguement error ...
exit
fi if [ ! -e "$1" ]; then
echo no such device $
exit
fi
这里包含if判断的东西,if 里面的判断[] 里面的条件必须要有空格
例如: if [ -e "/dev/sdb" ];then
...
fi
[ 后面有个空格, ] 前面也有一个空格。
linux shellcase语句 :
case语句适用于需要进行多重分支的应用情况。
case分支语句的格式如下:
case $变量名 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
*)
默认执行的命令序列 ;;
esac
case语句结构特点如下:
case行尾必须为单词“in”,每一个模式必须以右括号“)”结束。
双分号“;;”表示命令序列结束。
匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。
最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后
的命令序列。
例如:
case "$1" in //判断$1
*.sh) //如果是.sh文件,那么执行这一个
# Source shell script for speed.
(
trap - INT QUIT TSTP
scriptname=$
shift
. $scriptname
)
;;
*) //如果不是.sh那么执行这个默认的
"$@"
;;
esac
参考来源:http://blog.csdn.net/dreamtdp/article/details/8048720
linux shell 参数:
$1 表示第一个参数。
$2 表示第二个参数。
$3 表示第三个参数。
$@ 表示所有的参数,这个是数组的方式表示所有的参数。
$# 表示参数的个数。
$* 也可以表示所有的参数。
linuxshell if 判断语句:
linux shell while 循环:
- while expression
- do
- command
- command
- ```
- done
参考:http://blog.chinaunix.net/uid-25880122-id-2901409.html
linux shell脚本常用语句的更多相关文章
- Linux Shell脚本编程-语句控制
过程式编程语言bash脚本编程面向过程的编程 顺序执行:默认法则,按照顺序一条一条语句执行 选择执行:分支,条件判断,符合条件的分支予以执行 循环执行:将同一段代码反复执行有限次,所以循环必须有 ...
- Linux Shell脚本编程while语句
Linux Shell脚本编程while语句案例 1,每隔3秒,打印一次系统负载 #!/bin/bash while truedo uptime sleep 3done 2,把监控结果保存 ...
- Linux shell脚本编程(一)
Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...
- 【转】Linux Shell脚本调试技术
本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ Shell脚本调试技术 本文全面系统地介绍了shell脚本调试技 ...
- 【学习】Linux Shell脚本编程
1.脚本的组成和执行 Linux shell脚本的结构并不复杂,其主要由变量.内部命令以及shell的语法结构和一些函数.其他命令行的程序等组成,以下是一个简单的shell脚本. #!/bin/bas ...
- linux shell 脚本攻略学习20--awk命令入门详解
awk生于1977年,创始人有三个,分别为 Alfred Aho,Peter Weinberger, 和 Brian Kernighan,名称源于三个创始人的姓的首字母. 作用:处理文本文件. awk ...
- linux shell脚本相关知识
最近的项目中,有一个编写linux shell脚本的任务.由于之前不是很熟悉,在这个过程中遇到了很多困难,查找了很多资料,也收获了很多.下面是linux shell脚本中常用的知识总结. 1基础语法 ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
随机推荐
- 20145212 《Java程序设计》第4周学习总结
20145212 <Java程序设计>第4周学习总结 教材学习内容总结 第六章知识点: 1.继承基本上就是避免多个类间重复定义的行为. 2.子类继承父类,通过继承,我们可以避免类间的重复定 ...
- HDFS的Java操作
实验环境: Windows 10 Eclipse Mars.2 Release (4.5.2) CentOS 7 Hadoop-2.7.3 先决条件: 1) Windows上各环境变量已配置OK. ...
- GIT@OSC中托管Android studio代码
弄了好久,才知道如何向GIT@OSC托管代码,这里有需要的同学可以参考一下. 1.在GIT@OSC上新建一个工程 2.在AS中新建一个工程 3.在AS中选择“enable version contro ...
- validate jquery 注册页面使用实例 详解
官方使用文档:http://jqueryvalidation.org/documentation/ 参考资料:http://www.w3cschool.cc/jquery/jquery-plugin- ...
- thinkphp succes error跳转模板 设置
执行成功 换成自己想要的模块 下面的路径是默认的模板\ThinkPHP\Tpl\dispatch_jump.tpl D:\wamp\www\ThinkPHP\Tpl\dispatch_jump.tpl ...
- Yii2 高级版新建一个 Api 应用
原文地址:http://www.getyii.com/topic/28 先在项目的根目录下复制一份 backend 为 api: cp backend/ api -r 拷贝 api 环境 cp -a ...
- 工作中linux定时任务的设置及相关配置
工作中会用到定时任务,来处理以前采集来的数据备份, 每周一凌晨4点执行一次 0 4 * * */1 find/data/templatecdr/oracle/dcndatabak/ -type ...
- 【9-15】python学习笔记01
使用#开启行注释: 命令行:使用ctrl+d 退出
- 本地自定义了404 和500 错误处理 部署到IIS上显示 服务器内部错误
问题如图 解决办法如下,在IIS上设置一下即可
- 几个Web server的HA架构资料
提高Web性能, 最关键还是要看瓶颈在哪里. 手段不外乎下面几个. 实现从易到难一般为: 优化Big SQL -> 引入CDN -> 引入Memcache等缓存 -> Web负载平衡 ...