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