linux(七)__shell脚本编程

一、什么是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

时间: 2024-08-14 01:18:55

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

Linux系统shell脚本编程——生产实战案例

Linux系统shell脚本编程--生产实战案例     在日常的生产环境中,可能会遇到需要批量检查内网目前在线的主机IP地址有哪些,还可能需要检查这些在线的主机哪些端口是开放状态,因此依靠手工来检查是可以实现,但比较费时费力,所以需要结合shell脚本来实现批量检查的功能,那么今天就来做个小小的实验. 1.开发脚本前准备 一般大家都知道,测试主机是否在线,常用的命令无非就是ping.nmap,因此,首先找一个地址来测试下ping命令的效果 [[email protected] scripts]

Linux之Shell脚本编程(一)

什么是Shell Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户,下图所示用户.shell和操作系统的关系: Shell也是一门编程语言,即shell脚本,shell是解释执行的脚本语言,可直接调用linux命令. .java -> .class 一个系统可以存在多个shell,可以

Linux 的shell脚本编程

shell脚本编程 程序:指令+数据 程序编辑风格:             过程式:以指令为中心,数据服务于指令             对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 计算机:运行二进制指令 编程语言: 低级:汇编语言 高级:编译:高级语言-->编译器-->目标代码 java,c#,c,c++ 解释:高级语言-->解释器-->机器代码 shell,per,python 编程逻辑处理方式:           顺序执行      

linux命令:脚本编程知识点${#VARNAME} ${VARNAME#* } . FILENAME 读取文档内容

脚本编程知识点: * FILE=/usr/local/src TEST=${FILE#*/}:$TEST结果为usr/local/src, 以/为关键字,删除从左边数第一个/及关键字/左边的所有字符串. DEST=${FILE##*/}:$DEST结果为src,以/为关键字,删除最后一个关键字/及关键字/左边的所有字符串. 从左往右时,*号需在关键字左边 DOTEST=${FILE%/*}:$DOTEST结果为/usr/local,以/为关键字,删除从右边数第一个/及关键字/右边的所有字符串.

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

导读 众所周知,系统管理员需要精通一门脚本语言,而且招聘机构列出的职位需求上也会这么写.大多数人会认为 Bash (或者其他的 shell 语言)用起来很方便,但一些强大的语言(比如 Python)会给你带来一些其它的好处. 首先,我们会使用 Python 的命令行工具,还会接触到 Python 的面向对象特性(这篇文章的后半部分会谈到它). 学习 Python 可以助力于你在桌面应用开发及数据科学领域的职业发展. 容易上手,广泛使用,拥有海量“开箱即用”的模块(它是一组包含 Python 语句

Linux系统Shell脚本编程

1. shell脚本概念:C语言编写的.命令解释器.编程语言. 是用户使用linux的桥梁. shell脚本语言非常擅长处理文本类型的数据. 2. shell脚本作用:自动化管理.监控管理.日志数据处理.自动数据备份. 3. shell脚本中的成分:注释.命令.shell变量.结构控制语句. 以行为单位  一行一行依次执行. (在shell脚本中可以出现任何在交互方式下可以使用的命令.) 4. 调用shell脚本的两种方式: (1)sh 脚本文件名 (2)./脚本文件名(需要有执行权限) 当执行

谢烟客---------Linux之bash脚本编程---if补充和for循环

bash:过程式编程,为了完成更复杂的任务,支持顺序执行.选择执行.循环执行 顺序执行:从左而右,依次执行命令. 选择执行:依据condition(条件)的执行状态结果,选择执行不同的代码片段. 循环执行:依据condition(条件)的执行状态结果,决定是否进入循环. condition: ture: 表示条件状态结果为0 false: 表示条件执行状态结果非0 if 单分支.双分支.多分支.嵌套if语句 1.单分支结构 if condition; then     if-ture fi 2.

谢烟客---------Linux之bash脚本编程---选择执行

编程风格 过程式编程,目的解决问题 指令组织数据,指令的堆砌 为了完成复杂的任务 顺序执行:遍历的方式执行,逐个运行 选择执行:有一种选择标准,结果只能有一种选择,只执行某些 代码片段 循环执行:对一类对象逐个运行相同的运算,类似于 拉磨 的方式,某些代码连续执行多次 对象式编程: 数据为中心 程序执行的方式 编译:先翻译后执行,先将高级语言转换为目标代码:C,java程序 --> 编译 --> 目标代码 解释:边翻译边执行,为避免语法.逻辑等错误,一般先进行语法检查 Shell,java,p

linux下shell脚本编程1

1. shell脚本是什么 它是一种脚本语言,并非编程语言. 可以使用一些逻辑判断.循环等语法. 可以自定义子函数,是系统命令的集合. shell脚本可以实现自动化运维,大大增加我们的工作效率. 2.shell脚本结构以及执行方法 开头行指定bash路径: #! /bin/bash 以#开头的行作为解释说明 #注释自己的脚本内容,方便自己查阅:utf8字符集,支持中文: 脚本的名字以.sh结尾,用于区分这是一个shell脚本 执行脚本方式有两种: chmod a+x 1.sh    添加x执行权