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

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

test12.sh

 #!/bin/sh
echo "引用变量v1:$v1"
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

if 条件
then 命令
fi 或者 if 条件
then 命令1
else 命令2
fi 或者 if 条件1
then 命令1
elif 条件2
then 命令2
else 命令3
fi 注意:这里elif是else 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. Unity3D delegate 用法

    delegate:委托机制,不做一一说明: 功能需求1: 音量,为一事件为B: 改变音量如为0,为事件A.也触发事件B: 音量变,所有音乐,如场景,特效,角色,打斗.其所有音量都得变.为C: 思路: ...

  2. Python 基础爬虫架构

    基础爬虫框架主要包括五大模块,分别为爬虫调度器.url管理器.HTML下载器.HTML解析器.数据存储器. 1:爬虫调度器主要负责统筹其他四个模块的协调工作 2: URL管理器负责管理URL连接,维护 ...

  3. 《从零开始学Swift》学习笔记(Day 28)——总结使用问号(?)和感叹号(!)

    原创文章,欢迎转载.转载请注明:关东升的博客 在使用可选类型和可选链时,多次使用了问号(?)和感叹号(!),但是它们的含义是不同的,下面我来详细说明一下. 1. 可选类型中的问号(?) 声明这个类型是 ...

  4. ibatis 大于等于小于等于的写法

    在ibatis的sql语句xml配置文件中,写sql语句会经常用到大于等于小于等于等等符号.网上搜罗了一些写法,大致有3种: 其实就是xml特殊符号,转义的方式. < < > > ...

  5. 关于微信小程序的开发步骤

    ~~~~包子最近在研究小程序 首先先讲一下小程序一些基本的步骤: 1.登录微信的公众平台,选择小程序,注册一个账号,期间有碰到什么交300块钱的就不要理他,因为我只是做demo,当然,准备上线的企业啥 ...

  6. Kubectl工具常用命令

    创建namesapce kubectl create namespace {name} 注意:name只能为小写字母.数字和-的组合,且开头结尾为字母,一般格式为my-name 123-abc等. 创 ...

  7. Object.defineProperties()

    w https://docs.microsoft.com/en-us/scripting/javascript/reference/object-defineproperty-function-jav ...

  8. 2015-03-06——ajax基础

    IE6  必须使用Microsoft.XMLHTTP ActiveX组件来实例化一个对象 IE7已实现了XMLHttpRequest对象 var request = new ActiveXObject ...

  9. Amend Last Commit选项使用注意点

    1.创建master分支并上传到remote分支 create 2 folders and 4 files 2.修改folder1/file1.java,commit并push. 3.修改folder ...

  10. commonAncestor

    commonAncestor 光标或选区所在区域最外层的祖先节点