1、运算符:

  1、基本语法:$((运算式))或$[运算式]

  2、expr + n  // 注意运算符中间有空格

  再用expr时要加 ` ` 号,* 号加转义字符\  \* ,表示乘

2、判断语句

  [ condition ]  // 注意condition前后要有空格,非空返回true,可使用$?验证(0位true >1位false)

  两个数比较

  = 字符串比较

  -lt 小于

  -le 小于等于

  -eq 等于

  -gt 大于

  -ge 大于等于

  -ne 不等于

  文件权限比较

  -r 有读的权限

  -w 有写得权限

  -x 有执行得权限

  按照文件类型判断

  -f 文件存在并且是一个常规文件

  -e 文件存在

  -d 文件存在并是一个目录

  例:

    [ 22 -lt 23]

    [ -w shtu.txt ]

    [ -e /root/sh.log ]

  注意: 前后空格

3、流程控制

  if 判断

    if [ 条件判断式 ];then

      .....

    elif [ 条件判断式 ];then

      ......

    else

      ......

    fi

    或者

    if [ 条件判断式 ]

    then

      .....

    fi

   注意;if后面的空格和条件判断式前后的空格

  case语句:

    case $变量名 in

      值1)

      .........  // 如果值等于1,侧执行1

    ;;

    值2)

      .........  // 如果值等于2,则执行2

    ;;

    esac

  for循环:

    for 变量 in 值1 值2 .... 或者可以是一个数组

      do

        ....

      done

    或者:

    for (( i=1; i<10; i=$i+1 ))

    do

      ....

    done

  while循环:

    while[ 条件判断式 ]

    do

      .....

    done

4、read读取控制台输入

  read(选项)(参数)

  选项;

    -p : 指定读取值时的提示符

    -t : 指定读取值时的等待时间

  参数:

    变量:指定读取值的变量名

  例:read -p "你的名字:" name  // 注意空格,在shell脚本用的时候加 ` ` 包着

5、函数

  basename 文件路径  // 删除所有前缀包括最后一个 / ,只留下一个文件名, 在shell脚本中使用时要用  `  ` 包着

  dirname 文件路径   // 去除文件名,返回一个路径 。在shell脚本中使用时要用  ` ` 包着,

  注意:在shell脚本中运行一些命令时,如果不管用,用  ` ` 包着使用。例; `pwd -p`  

shell_语法的更多相关文章

  1. linux bash 的基础语法

    示例均来自网络,附带有原始链接地址,自己练习整理发出,均测试可用 linux shell 基本语法 - 周学伟 - 博客园 https://www.cnblogs.com/zxouxuewei/p/6 ...

  2. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  3. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  4. 探索C#之6.0语法糖剖析

    阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...

  5. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

  6. Velocity初探小结--velocity使用语法详解

    做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...

  7. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  8. C#语法糖大汇总

    首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...

  9. 值得注意的ibatis动态sql语法格式

    一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...

随机推荐

  1. 跟踪spring MVC的请求

    当我们点击一个超链接时,spring MVC在后台都做了些什么呢,今天就来看看后台都干了啥 首先需要在web.xml里配置一下:

  2. 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)

    解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...

  3. [原创]K8飞刀20150725 支持SOCKS5代理(内网渗透)

    工具: K8飞刀编译: 自己查壳组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2015/7/26 3:41:11 简介: ...

  4. odoo 开发基础 -- postgresql重新启动、状态查看

    场景描述: 当遇到数据库不能正常访问的时候,我们首先想到的是,查看相关的告警日志,一般先查看系统的日志,然后查看数据库的日志,Linux平台下,postgresql的日志文件存放目录在如下路径: te ...

  5. Delphi:程序自己删除自己,适用于任何windows版本(含源码)

    Delphi:程序自己删除自己,适用于任何windows版本(含源码) function Suicide: Boolean; var   sei: TSHELLEXECUTEINFO;   szMod ...

  6. 集合框架_DAY16

    1:List及其子类(掌握)     (1)List的特点:     Collection    |--List:元素有序(存入顺序和取出顺序一致),可重复.    |--Set:元素无序,唯一.   ...

  7. css - bootstrap3下拉菜单点击之后怎么改变背景颜色?

    css添加 .navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:focus, .n ...

  8. dubbo-常用配置

    一.启动时检查 官网说明: Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true&q ...

  9. 深入理解Spring的ImportSelector接口

    ImportSelector接口是至spring中导入外部配置的核心接口,在SpringBoot的自动化配置和@EnableXXX(功能性注解)都有它的存在,关于SpringBoot的分析可以参考:深 ...

  10. ES6快到碗里来---一个简单的爬虫指南

    学习ES6的时候,没少看ES6入门,到现在也就明白了个大概(惭愧脸).这里不谈ES6,只谈怎么把ES6的页面爬下来放到一起成为一个离线文档. 之前居然没注意过作者把这本书开源了..瞎耽误功夫...地址 ...