一、什么是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. 如何理解javaSript中函数的参数是按值传递

    本文是我基于红宝书<Javascript高级程序设计>中的第四章,4.1.3传递参数小节P70,进一步理解javaSript中函数的参数,当传递的参数是对象时的传递方式. (结合资料的个人 ...

  2. iOS app内存分析套路

    iOS app内存分析套路 Xcode下查看app内存使用情况有2中方法: Navigator导航栏中的Debug navigator中的Memory Instruments 一.Debug navi ...

  3. How to accept Track changes in Microsoft Word 2010?

    "Track changes" is wonderful and remarkable tool of Microsoft Word 2010. The feature allow ...

  4. PHP安装

    工具 http://www.cnblogs.com/xiwang6428/p/4315049.html http://www.iteye.com/news/22672 1 安装:sudo apt-ge ...

  5. Mac OS X 上编写 ASP.NET vNext (二) IDE配置

    上一篇中介绍了如何在OS X上搭建.Net运行时.不过光有运行时还不够,还需要有一个好用的IDE,有了IDE的支持,OS X上的开发才称为可能. 和上篇类似,这里先列举出具体步骤,个人可以根据自己的情 ...

  6. 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

    前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...

  7. CSharpGL(15)用GLSL渲染2种类型的文字

    CSharpGL(15)用GLSL渲染2种类型的文字 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合 ...

  8. maven archetype二三事

    maven plugin 创建maven archetype 骨架的plugin是 <plugin> <groupId>org.apache.maven.plugins< ...

  9. ASP.net 页面生命周期

    ASP.NET 页面生命周期 Page_Preinit(); 在页初始化开始时发生 Page_Init(); 在所有控件初始化且应用外观设置后引发 Page_InitComplete(); 在页初始化 ...

  10. salesforce 零基础学习(六十一)apex:component简单使用以及图片轮转播放的实现

    有的时候,我们项目有可能有类似需求:做一个简单的图像轮转播放功能,不同的VF页面调用可以显示不同的图片以及不同的图片描述.这种情况,如果在每个页面单独处理相关的图像轮转播放则显得代码特别冗余,此种情况 ...