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. 7、easyui 表单

    这是最后一个小节了,后面将会使用一个小项目来进一步实用讲解: 在之前的什么相关只是点都以及讲过了或者说涉及到过,如datagrid表格,树形菜单,布局面板panel,页签,拖放功能,只是在表格的属性细 ...

  2. hdu 5452(树链刨分)

    看到题目,想了挺长时间,发现不会,然后看着样子像是树上成段操作,所以查了下树链刨分,结果真的就是这个东西... Minimum Cut Time Limit: 3000/2000 MS (Java/O ...

  3. The E-pang Palace(暴力几何)

    //暴力的几何题,问,n个点可以组成的矩形,不相交,可包含的情况下,最大的面积,还有就是边一定与 x y 轴平行,所以比较简单了 //暴力遍历对角线,搜出所有可能的矩形,然后二重循环所有矩形,判断一下 ...

  4. 学习 《UNIX网络编程》

    学习本书之前,为了了解C语言,先通读了<C程序设计语言>.但对C语言的理解.熟悉可能还是不足,所以在学习本书的过程中,遇到看不懂的C代码,还要去查询.思考. 本书一开始,我就遇到了问题,运 ...

  5. PHP多线程pthreads

    Home | 简体中文 | 繁体中文 | 杂文 | Search | ITEYE 博客 | OSChina 博客 | Facebook | Linkedin | 作品与服务 | EmailPHP 高级 ...

  6. linux下查看cpu,内存,硬盘等硬件信息的方法

    说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息.但是对于双核的cpu,在cpuinfo中会看到两个cpu.常常会让人误以为是两个单核的cpu. 一.linux CPU大小 ...

  7. 查看hive的配置信息

    在启动hive时设置配置属性信息 $ bin/hive --hiveconf <property=value> 查看当前所有的配置信息 hive > set ; hive (db_h ...

  8. 虚拟机中的CentOS7如何上网?

    进入文本插入编辑模式. 重点设置BOOTPROTO=dhcp,ONBOOT=yes即可. 修改完之后,先按Esc键,再按:键,然后输入wq,最后按回车键方可退出vim编辑器 在主机下,按win+R键, ...

  9. (转)fiddler使用简介--其三

    原文地址:http://www.cnblogs.com/miantest/p/7294620.html 我们知道Fiddler是位于客户端和服务器之间的代理,它能够记录客户端和服务器之间的所有 HTT ...

  10. Meta 数据中文显示

      class Meta:verbose_name='待办事项'verbose_name_plural = verbose_name这是什么意思? verbose_name指定在admin管理界面中显 ...