一、什么是shell脚本

shell除了是命令解释器之外还是一种编程语言,用shell编写的程序类似于DOS下的批处理程序。

它是用户与操作系统之间的一个接口。

shell脚本语言非常擅长处理文本类型的数据,由于linux中的配置文件都是文本文件,所以shell脚本语言

在管理linux系统中发挥了巨大的作用。

二、为什么学习shell script

  • 自动化管理
  • 监控管理
  • 日志数据处理
  • 自动数据备份

三、基本语法

一般文件以 #!/bin/bash开头,表示该文件使用的是bash语法,不设置也行,但这是一种规范。

shell脚本是以行为单位的。注释#  变量支持字符串变量和整型变量

vi 编辑shell脚本文件

调用方式:

sh script-file

可以加-x选项来查看这个脚本的执行过程,这样有利于调试。

./ script-file

用./方式执行shell脚本必须设置文件权限chmod +x filename 成可执行文件

.bin文件就要用./调用

shell变量

name=string

name变量 string被赋的值 两边不能有空格,会视为一个命令

例:

v=centos

echo=$v  ($标示一个变量)

date命令:

date

date +%H:%M:%S

shell表达式:

简单四则运算:

b=$((5*5+5-3/2)) 
echo $b
29 
在linux shell中,我们可以使用 $(()) 将表达式放在括号中,即可达到运算的功能。

或者用$[]也可以。

字符串的处理

和用户交互:

read命令

p是prompt的缩写,即由这个开关项给出提示信息,例如
read -p 'please input you choice:\n' choice
回车后屏幕会显示:
please input you choice:
那么之后你输入的东西就会被保存到choice变量中了

判断:

test判断

例:

filename=/home/hello.java

test -f $filename && echo 'exit' || echo 'not exit'

[]判断

尤其是注意第一条,变量常数与符号之间都要有空格。

判断

例:

if [ -f $filename ];then

echo 'the file is exist'

fi

linux(七)__shell脚本编程的更多相关文章

  1. 【Linux】Shell脚本编程(一)

    Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...

  2. Linux 利器- Python 脚本编程入门(一)

    导读 众所周知,系统管理员需要精通一门脚本语言,而且招聘机构列出的职位需求上也会这么写.大多数人会认为 Bash (或者其他的 shell 语言)用起来很方便,但一些强大的语言(比如 Python)会 ...

  3. [Linux系统] (4)脚本编程

    一.bash shell 可以理解为一种解释器和启动器,解释命令文本,并执行命令. 命令来源: 用户交互输入 文本文件输入 1.示例,写一个最简单的文本 vi test.txt 写入以下内容: ech ...

  4. 【Linux】Shell脚本编程(三)

    流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真”: 退出条件:当CONDITIO ...

  5. Linux系统Shell脚本编程

    1. shell脚本概念:C语言编写的.命令解释器.编程语言. 是用户使用linux的桥梁. shell脚本语言非常擅长处理文本类型的数据. 2. shell脚本作用:自动化管理.监控管理.日志数据处 ...

  6. 【Linux】Shell脚本编程(二)

    练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 for i in $(seq 0 2 ...

  7. shell脚本编程基础介绍

    Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果 ...

  8. Linux shell脚本编程(三)

    Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...

  9. Linux shell脚本编程(二)

    Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...

随机推荐

  1. BPM生产安全管理解决方案分享

    一.方案概述生产安全管理是企业生产管理的重要组成部分,组织实施好企业安全管理规划.指导.检查和决策,保证生产处于最佳安全状态是安全管理的重要内容和职责.H3 BPM企业生产安全管理解决方案是一套专门为 ...

  2. BPM配置故事之案例10-获取外部数据

    老李:Hi,小明,我又来了 小明:--这次又怎么了. 老李:之前的物资管理方式太混乱了,这段时间我整理了采购物资清单,现在都录入到我们的ERP中了,以后申请物资改成从ERP数据选择吧.物资明细表我也做 ...

  3. iOS 自定义方法 - 不完整边框

    示例代码 ///////////////////////////OC.h////////////////////////// ////  UIView+FreeBorder.h//  BHBFreeB ...

  4. 利用PowerShell复制SQLServer账户的所有权限

    问题 对于DBA或者其他运维人员来说授权一个账户的相同权限给另一个账户是一个很普通的任务.但是随着服务器.数据库.应用.使用人员地增加就变得很枯燥乏味又耗时费力的工作.那么有什么容易的办法来实现这个任 ...

  5. closure

    什么是闭包?百度的答案: 闭包是指可以包含自由(未绑定到特定对象)变量的代码块:这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)."闭包&quo ...

  6. VisualStudio 2015 开启IIS Express可以调试X64项目

    现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中调试.不要总是放在IIS中,在Attach这样好慢.   如果不设置直接调试X64的程序,我们有可能会受到以下类似的错误 ...

  7. ubuntu14 安装及卸载vmware

    原帖http://blog.sina.com.cn/s/blog_73dac6b50101gp4f.html 适用于ubuntu14和vmware player 12.5

  8. 微信硬件H5面板开发(一) ---- 调用openApi

    微信硬件平台是微信推出连接物与人,物与物的IOT解决方案.也就是说可以通过微信控制各种智能设备.比如一些蓝牙设备.空调.电视等等. 我本身不懂硬件(虽然是电子信息专业),硬件是北航的两个研究生在弄,小 ...

  9. DAO层,Service层,Controller层、View层 的分工合作

    DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口 ...

  10. Android开发学习之路-DiffUtil使用教程

    谷歌最近更新了Support Library 24.2.0,而DiffUtil就是在这个版本添加的一个工具类. DiffUtil是一个查找集合变化的工具类,是搭配RecyclerView一起使用的,如 ...