Shell脚本学习(一)
文章目录
1.shell脚本的基本概念
2.shell脚本的应用范围
3.执行shell脚本的方法
4.交互式硬件设备的类型
5.重定向的操作符号
6.变量及类型
7.定义新变量的方法
8.赋值时使用的引号
9.read实现人机交互
10.export应用全局变量
11.常用运算符
12.环境变量
13.位置参数
1.shell脚本的基本概念
1.按执行命令的顺序,保存到另一个文件
2.给该文件的可执行的权限,是该文件可以执行
3.可以结合各种shell控制语句,完成操作
2.shell脚本的应用范围
1.重复性操作
2.批量事务处理
3.自动化运维
4.服务运行状态的监控
5.定时任务
3.执行shell脚本的方法
1.方法一
使用方法一是需要执行chmod +x语句,给这个文件执行的权限,然后通过./文件名来执行。
cd /opt
vim demo1.sh
#!/bin/bash
date
chmod +x demo1.sh
./demo1.sh
2019年 11月 25日 星期一 20:00:56 CST
2.方法二
sh命令来执行文件路径
vim demo2.sh
#!/bin/bash
date
sh ./demo2.sh
2019年 11月 25日 星期一 20:03:39 CST
3.方法三
source脚本文件路径。
vim demo3.sh
#!/bin/bash
date
source ./demo3.sh
2019年 11月 25日 星期一 20:06:24 CST
总结这三种方法,方法一:执行切换目录的脚本的时候,路径不会改变,且没有颜色显示;方法二:不会自动切换路径,且没有颜色显示;方法三:会自动切换路径,且有颜色的显示。
4.交互式硬件设备类型
标准输入 | 从设备接收用户的数据 | |
---|---|---|
标准输出 | 通过设备向用户输出数据 | |
标准错误 | 通过设备执行错误的信息 |
类型 | 设备文件 | 描述编号 | 默认 | |||
---|---|---|---|---|---|---|
标准输入 | /dev/stdin | 0 | 键盘 | |||
标准输出 | /dev/stdout | 1 | 显示器 | |||
标准错误输出 | /dev/stderr | 2 | 显示器 |
5.重定向的操作符号
类型 | 操作符 | 用途 | ||
---|---|---|---|---|
重定向输入 | < | 从指定的文件读取数据,而不是从键盘输入 | ||
重定向输出 | > | 将输出结果保存的到指定文件(覆盖原有内容) | ||
>> | 将结果追加到指定的文件中 | |||
标准错误输出 | 2> | 将错误保存到指定的文件(覆盖原有内容) | ||
2>> | 将错误内容追加到指定的文件中 | |||
混合输出 | &> | 将标准输出标准错误保存到同一个文件中 |
6.变量及类型
变量名:使用固定的名称,由系统预设或定义
变量值:能够根据用户设置、系统环境的变化而变化
变量的类型
自定义变量:用户自己定义修改和使用
环境变量:由系统维护,用于设置工作环境
位置变量:通过命令行给脚本传递参数
预定义变量:Bash中内置的一类变量,不能直接修改
7.定义新变量的方法
变量名=变量值
echo $变量名
smart=100
echo $smart
100
8.赋值时使用的引号
双引号:允许通过$符号引用其他变量
单引号:禁止引用其他变量,$视为普通字符
反撇号:命令替换,提取命令执行后的结果
num=`ps aux | wc -l`
num=$(ps aux| wc -l)
这两个在某些情况下,这两种情况可以互换。
smart=`ps aux|wc -l`
echo $smart
206
fool=$(ps aux|wc -l)
echo $fool
206
9.read实现人机交互
read -p “提示信息” 变量名
vim demo4.sh
#!/bin/bash
read -p "你帅吗?" answer
echo $answer
chmod +x demo4.sh
./demo4.sh
你帅吗?是
是
10.export应用全局变量
export引用全局变量
格式1:export + 变量名
格式2:export 变量名=变量值
export smart=100
echo $smart
100
bash
echo $smart
100
exit
exit
fool=100
bash
echo $fool
exit
exit
总结:从实验中,我们可以出这样一个结论:用export全局声明后,我们可以使用全局的变量(在当前用户的其他bash中依旧可以调用该参数)
11.常用运算符
常用计算符号
加法运算 | ||
---|---|---|
减法运算 | - | |
乘法运算 | \* | |
除法运算 | / | |
取余运算 | % |
expr 变量一 运算符 变量二 [运算符 变量三]
expr 1 + 1
2
expr 2 - 1
1
expr 3 \* 2
6
expr 6 / 3
2
expr 19 % 5
4
12.环境变量
有系统创建,用来设置用户环境
配置文件:/etc/profile ~/.bash_profile
PWD、PATH
USER、SHELL、HOME
13.位置参数
比如:
./myprog.sh one two three four five six
$1:表示第一个参数的位置
$0:标志当前执行程序的程序名
$#:命令中位置变量的参数