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

控制结构
判断
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 条件1then 命令1
elif 条件2then 命令2
else 命令3
fi

注意:这里elif是else if的缩写,但不支持else if的写法

转载于:https://www.cnblogs.com/wujiadong2014/p/5712550.html

linux基础(6)-shell编程相关推荐

  1. 渗透测试-Kali Linux学习(Linux基础、Shell编程、渗透测试软件)

    目录 目录结构 SSH连接 开关机与重启 关机 重启 文件目录 目录 显示/切换 创建与删除 文件 创建 复制 移动 查看 重定向和追加 软链接 查找 备份与压缩 .gz .zip .tar.gz 用 ...

  2. Linux基础篇--shell脚本编程基础

    Linux基础篇–shell脚本编程基础 本章内容概要  编程基础  脚本基本格式  变量  运算  条件测试  配置用户环境 7.1 编程基础 程序:指令+数据 程序编程风格:   过程式:以指令为 ...

  3. 《Linux与unix Shell编程指南》 总结

    <Linux与unix Shell编程指南> 总结 标签: linux网络dstcron服务器 2011-01-10 18:27 3742人阅读 评论(0) 收藏 举报 分类: Linux ...

  4. linux的shell编程课设,linux课程设计-shell编程.doc

    linux课程设计-shell编程.doc 还剩 18页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: fido ...

  5. 2008年度LINUX与UNIX SHELL编程指北系列大片

    2008年度LINUX与UNIX SHELL编程 指北 系列大片 前言:这个世界是公平的,机会是平等的,学习的机会人人都有,只要你有不甘平庸的上进之心,定会成功! 主演:rootman rootman ...

  6. linux 中输入bash,Linux上Bash Shell编程

    Linux下Bash Shell编程 Bash Shell Programming in Linux Linux下Bash Shell编程 Bash what? 进阶的内容是什么? Okay, I g ...

  7. Linux基础之shell变量

    Linux基础之shell变量 一.shell变量及其他相关介绍 二.shell变量类型 三.shell变量用法 四.定义命令别名 五.系统变量文件定义说明 一.shell变量及其他相关介绍 1.编译 ...

  8. shell编程入门 linux解释器原理,Shell编程入门Linux解释器原理详细介绍 使用Shell进行工作的人们对.doc...

    Shell编程入门Linux解释器原理详细介绍 使用Shell进行工作的人们对 Shell编程入门:Linux解释器原理详细介绍使用Shell进行工作的人们对Unix/Linux下的Shell编程都很 ...

  9. 基于Linux的bash/shell编程基础

    目录 第一章 shell入门 1.什么是shell 2.shell入门 3,变量的定义和使用 4.接收用户输入(重点) 5.条件判断语句 6.运算符 6.1.算数运算符 6.2.关系运算符 6.3.逻 ...

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

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

最新文章

  1. python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用
  2. php-cgi和php-fpm,Windows环境下解决Nginx+php并发访问阻塞问题。
  3. UNIX网络编程——UDP缺乏流量控制(改进版)
  4. CSS设置页面背景色
  5. C++ :vector的使用
  6. ECCV 2018 | Bi-box行人检测:‘行人遮挡’为几何?
  7. C语言goto关键字—尽量少用
  8. java 修改 jar 包文件内容的一个实例
  9. 获取socket对应的接收缓冲区中的可读数据量
  10. matlab已知ft求f2t,基于Matlab的信号与系统实验指导2
  11. Redis集群的原理和搭建
  12. Chrome的历史版本下载
  13. 杨森翔人日诗词;人日书法
  14. 微软云搭建服务器,快速入门:创建服务器 - Azure 门户 - Azure Database for PostgreSQL - 单个服务器 | Microsoft Docs...
  15. 【利用Altium Designer2018设计元器件原理图库】
  16. 慎用小封装大阻值电阻
  17. 麦特裂噗01 : 整点儿对象出来
  18. 单片机实验----跑马灯
  19. vb.net 获取系统图标_微商城和小程序商城图标8个设计注意事项
  20. go mod module declares its path as: gtihub.com/xxx-xx but was required as:xx-xx

热门文章

  1. springmvc十六:视图解析
  2. Fabric Kafka入门
  3. 计蒜客 时间复杂度 (模拟) 洛谷 P3952 时间复杂度
  4. 仟叶学校:武汉老师最燃演讲“人生很贵,请别浪费”
  5. 通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程[上]:采用管道处理请求...
  6. BROCADE使用小技巧
  7. ZH奶酪:Ionic通过angularJS+tabs-item-hide实现自定义隐藏tab
  8. 请教大家,如何使用sed命令,替换文件指定行的内容呢?-Linux系统管理-ChinaUnix.net...
  9. 深js, jsconf China 回顾
  10. 检查邮箱是否包含教育后缀.edu结尾的邮箱