shell脚本

shell脚本程序:以文件形式存放批量的linux命令集合,该文件能够被shell释放执行。通常由一段linux命令、shell命令、控制语句以及注释语句构成。
shell脚本特点:
  • 第一行需指定用哪个程序来编译和执行脚本,如#!/bin/bash 或者#!/bin/sh
  • 通常shell脚本以.sh为后缀
shell脚本执行权限:
  • 有执行权限,可以./filename.sh
  • 无执行权限,可以sh filename.sh
变量与引用
定义变量
  • 定义变量时变量名不加美元符号
  • 注意等号两边不能有空格如:name="wujiadong"
  • 变量名不能以数字开头
  • export命令可以使变量用于子进程
  • 变量赋值时,若值中有空格,必须使用双引号括起来
使用变量
  • 使用一个定义过的变量,只要在变量名前加美元符号。
  • 显示变量:echo $name 或echo ${name}
  • 清除变量:unset name

实例1

test11.sh

  1. #!/bin/bash
  2. v1="feigu"
  3. export v2="wujiadong"  #export命令可以使变量用于子进程
  4.  
  5. echo "显示v1:$v1"
  6. echo "显示v2:$v2"
  7.  
  8. sh test12.sh

test12.sh

  1. #!/bin/sh
  2. echo "引用变量v1:$v1"
  3. echo "引用变量v2:$v2"

执行sh.test11.sh

aaarticlea/png;base64,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" alt="" />

控制结构
判断
test -e filename 表示是否存在
-e 是否存在 
-f 是否存在且为档案(file)
-d 是否存在且为目录(directory)
 
-r 是否存在且有可读权限
-w 是否存在且有可写权限
-x 是否存在且有可执行权限
 
两个数之间判断 :test n1 -eq n2
-eq 两数值相等(equal)
-ne 两数值不等(not equal)
-gt n1大于n2(greater than)
-lt n1小于n2(less than)
-ge n1大于等于n2(great than or equal)
-le n1小于n2(less than or equal)
 

判断字符串的数据

test -z string 判断字符串是否为0,string为空字符串,则为true
test -n string 判断字符串是否非为0,string为空字符串,则为false。注:-n可省略
test str1 = str2 判断str1是否等于str2,若相等,则回传true
test str1 != str2  判断str1是否不等于str2,若相等,则回传false

if else

  1. if 条件
  2. then 命令
  3. fi
  4.  
  5. 或者
  6.  
  7. if 条件
  8. then 命令1
  9. else 命令2
  10. fi
  11.  
  12. 或者
  13.  
  14. if 条件1
  15. then 命令1
  16. elif 条件2
  17. then 命令2
  18. else 命令3
  19. fi
  20.  
  21. 注意:这里elifelse if的缩写,但不支持else if的写法

linux基础(6)-shell编程的更多相关文章

  1. linux基础6-bash shell编程

    1. type [-ta] name 一般情况下,type命令被用于判断另外一个命令是否是内置命令,但是它实际上有更多的用法. 1.1.判断一个名字当前是否是alias.keyword.functio ...

  2. linux基础之Shell Script入门介绍

    本文介绍下,学习shell script编程的入门知识,通过几个入门实例,带领大家走进shell script的神圣殿堂,呵呵,有需要的朋友参考下. 本文转自:http://www.jbxue.com ...

  3. Linux学习之Shell编程基础

    转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来 ...

  4. Linux基础篇–shell脚本编程基础

    本章内容概要  编程基础  脚本基本格式  变量  运算  条件测试  配置用户环境 7.1 编程基础程序:指令+数据程序编程风格:   过程式:以指令为中心,数据服务于指令   对象式:以数据为中心 ...

  5. 基于Linux系统的Shell编程-基础篇

    1. Shell基础介绍 1.1 Shell编程的意义 为什么使用shell编程 节约时间 1.2 显示脚本执行过程 前面有+表示执行过的命令的 前面没有东西,表示输出到屏幕上的内容. [root@C ...

  6. Linux下的shell编程入门

    通常情况下,我们从命令行输入命令每输入一次就能够得到系统的一次响应.一旦需要我们一个接着一个的输入命令而最后才得到结果的时候,这样的做法显然就没有效率.要达到这样的目的,通常我们利用shell程序或者 ...

  7. Linux与Unix shell编程指南(完整高清版).pdf

    找到一本很详细的Linux Shell脚本教程,其实里面不光讲了Shell脚本编程,还介绍了系统的各种命令 http://vdisk.weibo.com/s/yVBlEojGMQMpv 本书共分五部分 ...

  8. Linux下的Shell编程

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

  9. Linux 与 unix shell编程指南——学习笔记

    第一章    文件安全与权限 文件访问方式:读,写,执行.     针对用户:文件属主,同组用户,其它用户.     文件权限位最前面的字符代表文件类型,常用的如         d 目录:l 符号链 ...

  10. linux下的Shell编程(3)shell里的流程控制

    if 语句 if 表达式如果条件命令组为真,则执行 then 后的部分.标准形式: if 判断命令,可以有很多个,真假取最后的返回值 then 如果前述为真做什么 [ # 方括号代表可选,别真打进去了 ...

随机推荐

  1. [Spring MVC]学习笔记--基础Servlet

    Servlet是一个用Java编写的应用程序,在服务器上运行,处理请求的信息并将其发送到客户端. Servlet的客户端提出请求并获得该请求的响应. 对于所有的客户端请求,只需要创建Servlet的实 ...

  2. EasyGBS国标流媒体视频平台接入海康、大华、宇视的摄像机、硬盘录像机NVR、国标下级平台的方案

    在上一篇<EasyNVR和EasyDSS云平台联手都不能解决的事情,只有国标GB28181能解决了>我们大致介绍了国标GB/T28181的使用场景,而且初步介绍了EasyGBS国标视频平台 ...

  3. Pycharm中目前用到的快捷键

    1.批量注释:Ctrl+/ 2.缩进\不缩进:Tab\Shift+Tab 3.运行:Ctrl+Shift+F10 4.撤销\反撤销:Ctrl+z\Ctrl+shift+z 5.当光标在代码中间,如何回 ...

  4. 路径规划 Adjacency matrix 传球问题

    建模 问题是什么 知道了问题是什么答案就ok了 重复考虑 与 重复计算 程序可以重复考虑  但往目标篮子中放入时,放不放把握好就ok了. 集合 交集 并集 w 路径规划 字符串处理 42423 424 ...

  5. 判断SQL数据库中函数、存储过程等是否存在的方法

    下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助.库是否存在if exists(select * from master..sys ...

  6. Django的admin定制

    1,models编写 #encoding=utf-8 from django.db import models # Create your models here. class BookInfo(mo ...

  7. centos部署jenkins服务

    1 添加jenkins repo源 [root@WebVirtMgrWeb ~]# wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.or ...

  8. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  9. Android 编译错误——布局 Error parsing XML: not well-formed (invalid token)

    在修改了Android布局文件后,编译出现Error parsing XML: not well-formed (invalid token). 首先先排查xml文件的编码格式是否为UTF-8, &l ...

  10. ajax跨域资源共享

    一.同域发送数据 略 二.跨域发送数据 1.存在的问题 1.什么是同源策略 同源策略阻止从一个域名上加载的脚本获取或操作另一个域名上的文档属性.也就是说,受到请求的 URL 的域名必须与当前 Web ...