bash的特性(study01)

bash的特性

1.常用的通配符(重点)

*: 匹配0或多个任意字符
?: 匹配任意单个字符
[list]: 匹配[list]中的任意单个字符,或者一组单个字符
[!list]: 匹配除list中的任意单个字符
{string1,string2,...}: 匹配string1,string2或更多字符串

2.bash中的引号(重点)

  • 双引号 "" : 会把引号的内容当成整体来看待,允许通过$符号引用其他变量值

  • 单引号 ' ' : 会把引号的内容当成整体来看待,禁止引用其他变量值,shell中特殊符号都被视为普通字符

  • 反撇号 `` : 反撇号和$()一样,引号或括号里的命令会优先执行,如果存在嵌套,反撇号不能用

[root@shell test]# date +%F
2022-02-24
[root@shell test]# echo "hello world"
hello world
[root@shell test]# echo 'hello world'
hello world
[root@shell test]# echo $(date +%F)
2022-02-24
[root@shell test]# echo "$(date +%F)"
2022-02-24
[root@shell test]# echo '$(date +%F)'
$(date +%F)
[root@shell test]# echo `date +%F`
2022-02-24
[root@shell test]# echo "`date +%F`"
2022-02-24
[root@shell test]# echo `"echo `date +%F`"`
-bash: command substitution:行1: 寻找匹配的 `"' 是遇到了未预期的文件结束符
-bash: command substitution:行2: 语法错误: 未预期的文件结尾
-bash: command substitution:行1: 寻找匹配的 `"' 是遇到了未预期的文件结束符
-bash: command substitution:行2: 语法错误: 未预期的文件结尾
date +%F

3.shell简介

  • shell就是人机交互的一个桥梁

[root@shell test]
/bin/sh       #是bash的一个快捷方式
/bin/bash     #bash是大多数Linux默认的shell,包含的功能几乎可以涵盖shell所有的功能
/sbin/nologin       #表示非交互,不能登录操作系统
/bin/dash       #小巧,高效,功能相比少一些
/bin/csh         #具有C语言风格的一种shell,具有许多特性,但也有一些缺陷
/bin/tcsh        #是csh的增强版,完全兼容csh

4.shell脚本

(1)什么是shell脚本?

  • 一句话概括

    简单来说就是将 需要执行的命令 保存到文本中,按照顺序执行,从上至下。它是解释型的,意味着不需要编译。

  • 准确叙述

    若干命令 + 脚本的基本格式 + 脚本特定语法 + 思想 = shell脚本

(2)什么时候用到脚本?

遇到重复化、复杂化的工作,通过把工作的命令写成脚本,以后通过执行脚本就能完成这些工作。

(3)shell脚本能干啥?

①自动化软件部署 LAMP/LNMP/Tomcat

②自动化管理 系统初始化脚本、批量更改主机密码、推送公钥...

自动化分析处理 统计网站访问量

自动化备份 数据库备份、日志转储...

⑤自动化监控脚本

(4)如何学习shell脚本?

1.尽可能记忆更多的命令

2.掌握脚本的标准格式(指定魔法字节、使用标准的执行方式运行脚本)

3.必须熟悉掌握脚本的基本语法

(5)学习shell脚本的秘诀

多看(看懂)——> 模仿(多练)——> 多思考(多写)

(6)shell脚本的基本写法

1)脚本第一行,魔法字符 #!指定解析器

#!/bin/bash 表示以下内容使用bash解释器解析

注意:

如果直接将解释器路径写死在脚本里,可能在某些系统就会存在找不到解释器 的兼容性问题,所以可以使用

#!/bin/env bash

2)脚本第二部分,注释(#号)说明,对脚本的基本信息进行描述【可选】

#!/bin/bash

# Name: 名字
# Desc: 描述
# Path: 存放路径
# Usage: 用法
# Update: 更新时间

#以下脚本具体内容

3)脚本第三部分,具体的代码

posted @ 2022-03-01 14:46    阅读(424)  评论(0编辑  收藏  举报