Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
脚本格式要求:
1)脚本以#!/bin/bash开头
2)脚本需要有可执行权限
脚本的常用执行方式:
方式1:(输入脚本的绝对路径或相对路径)
说明:首先要赋予helloworld.sh脚本的+x权限,再执行脚本
比如./hello.sh或者使用绝对路径/root/shcode/hello.sh
方式2:(sh+脚本)
说明:不用赋予脚本+x权限,直接执行即可。
比如sh hello.sh,也可以使用绝对路径。
例: 创建一个shell脚本,输出hello world!
vim hello.sh
#!bin/bash
echo "hello world!"
基本介绍:
Linux Shell中的变量分为系统变量和用户自定义变量。
系统变量:<span data-formula="HOME、" aria-hidden="true">PWD、<span data-formula="SHELL、" aria-hidden="true">USER等等,比如:echo <span data-formula="HOME等等
显示当前shell中所有变量: set
shell 变量的定义
基本语法:
1)定义变量:变量名=值
2)撤销变量: unset变量
3)声明静态变量: readonly变量,注意:不能unset
shell 变量的定义
基本语法:
1)定义变量:变量名=值
2)撤销变量: unset变量
3)声明静态变量: readonly变量,注意:不能unset
基本语法:
注意:在输出全局变量前,需要让其生效
source 配置文件
shell 脚本的多行注释:<<!内容!
基本介绍:
当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量。
比如: ./myshell.sh 100 200,这个就是一个执行 shell的命令行,可以在myshell脚本中获取到参数信息。
基本语法:
<span data-formula="n
(功能描述:n为数字," aria-hidden="true">0代表命令本身,<span data-formula="1-" aria-hidden="true">9代表第一到第九个参数,十以上的参数需要用大括号包含,如<span data-formula="{10})
基本介绍:
就是shell 设计者事先已经定义好的变量,可以直接在shell脚本中使用。
基本语法:
基本介绍:
学习如何在shell中进行各种运算操作。
基本语法:
基本语法:
[ condition ](注意condition前后要有空格)
#非空返回true,可使用<span data-formula="?验证(0为true,>1为false)
判断语句
if判断
if [ 条件判断式 ]
then
代码
fi
或者多分支
if [ 条件判断式 ]
then
代码
elif[ 条件判断式 ]
then
代码
fi
case语句
case " aria-hidden="true">变量名 in
"值1")
// 如果变量的值等于值1,则执行程序1
"值2")
//如果变量的值等于值2,则执行程序2
;;
...省略其他分支...
*)
//如果变量的值都不是以上的值,则执行此程序
;;
esac
for循环
while循环
while [ 条件判断式 ]
do
程序
done
注意:while和 [ 有空格,条件判断式和 [ 也有空格
基本语法:
read(选项)(参数)
选项:
-p: 指定读取值时的提示符;
-t: 指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待
参数:
变量:指定读取值的变量名
shell编程和其它编程语言一样,有系统函数,也可以自定义函数。下面介绍常用的两个。
系统函数
自定义函数
基本语法:
[ function ] funname[()]
{
Action;
[return int;]
}
调用直接写函数名:funname [值]
1)每天凌晨 2:30备份数据库fyx01到/data/backup/db
2)备份开始和备份结束能够给出相应的提示信息
3)备份后的文件要求以备份时间为文件名,并打包成.tar.gz 的形式
4)在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除
5)画一个思路分析图
本文章使用limfx的vscode插件快速发布