1 shell脚本介绍
shell就是一块包裹着系统核心的壳,处于操作系统的最外层,与用户直接对话,把用户的输入,解释给操作系统,然后处理操作系统的输出结果,输出到屏幕给与用户看到 结果。(例如用户输入ls命令,shell解释给操作系统是要查看目录,然后操作系统在编译给机器硬件,机器硬件返回给操作系统,操作系统在返回给shell,shell在解释给用户)
shell脚本:利用shell功能所编写的一个程序,使用纯文本文件,将shell的命令写在里面,搭配以正则表达式、管道命令、数据流重定向等功能达到我们管理系统的目的。
2 脚本的编写与执行
2.1 脚本编写
1、命令是从上而下,从左至右第分析与执行
2、命令、选项、参数间的多个空格会被忽略掉
3、空白行也会被忽略掉,并且Tab按键也会被忽略
4、如果读取到一个Enter符号(CR),就尝试执行改行(或该串)命令
5、至于如果一行内容太多,可以使用【[Enter]】来扩展至下一行
6、#可作为注释
2.2 脚本的执行
脚本的执行有多种方法:
- 直接命令执行(即直接输入文件名即可),但需要 rx 权限
- 绝对路径、相对路径执行,需要 rx 权限
- 使用bash来执行,sh filename.sh
- 需要 r 权限 source filename.sh,需要 r 权限
2.3 简单练习
1)变量由输入决定
#!/bin/bash
read -p "Please input your first name: " fname
read -p "Please input your last name: " lname
echo -e "\nYour name is ${fname} ${lname}"
echo -e $fname
2)变量随日期变化
#!/bin/bash
read -p "please input the filename:" filename
date1=$(date +%Y%m%d)
date2=$(date --date='1 days ago' +%Y%m%d)
file1=${filename}${date1}
file2=${filename}${date2}
echo -e $file1
echo