基本信息
文件名称:Linux操作系统基础任务式教程(慕课版)课件 任务10:shell基础-自动化软件部署.pptx
文件大小:2.45 MB
总页数:107 页
更新时间:2025-06-28
总字数:约3.59千字
文档摘要

;;;shell是壳,是连接用户和计算机之间的桥梁

用户可以通过shell向计算机底层发送指令

;shell将用户的指令翻译成操作系统可以识别的形式让操作系统执行。

shell还可以得到操作系统执行后的反馈,翻译成用户可以理解的形式后告知用户。;;;;;bash是最常见的shell,很多Linux发行版的默认shell都是bash。

bash的功能主要有:

自动补全、历史记录、别名、通配符、正则表达式。;;自动补全命令:用户可以双击tab键,系统会根据用户已经输入的内容进行提示。;历史命令记录在:~/.bash_history(当前用户家目录下隐藏文件.bash_history)。;别名=命令。;;;bash特性;bash是最常见的shell,很多Linux发行版的默认shell都是bash。

bash的功能主要有:

自动补全、历史记录、别名、通配符、正则表达式。;;在bash中,通配符表示一类内容,一般出现在指令的参数中。

bash搜寻可能的匹配:

匹配存在,则将该匹配作为参数,继续寻找匹配项,直到查找完成。

匹配不存在,则将该通配符作为一个普通字符传递,再进行处理。;bash中常见的通配符有*、?、[]、{}等。

其中:

*表示匹配零个或者一个或者多个字符。

?表示匹配一个字符。

[]表示匹配其中任意一个字符。

;[]表示匹配其中任意一个字符。;;命令:grep[选项]规则[文件名]

释义:按照行匹配符合规则的内容

其中规则:

可以使用正则表达式。

正则表达式需要使用(单引号)包裹。

例如:;元字符;;;;shell脚本与windows或dos下的批处理相似。

shell脚本是指将各类命令预先放入到一个文件中。

shell脚本是一次性执行的一个程序文件。

运维管理时方便管理员进行设置或者管理。;Shell中定义变量,通过变量名引用,方便修改。

脚本文件的内容:

#!/bin/bash

DIR=/tmp/trash

FILE=$1

[-d${DIR}]||mkdir-p${DIR}

cp-r${FILE}${DIR}

\rm-rf${FILE};定义变量的格式:变量名=变量值。

变量值为普通文本(字符串),则使用单引号或双引号包裹字符串。

变量的使用:${变量名}。

在bash中,通过echo${变量名}查看变量的值。;变量名只能使用英文字母、数字和下划线,且不能以数字开头。

变量名中间不能有空格。

不要使用系统的关键字或??命令。

变量的命名要做到浅显易懂。

例如:驼峰式(ThisIsMyName)或者下划线式(this_is_my_name)。;在bash中,执行shell脚本有多种方式:source,sh,bash,./,绝对路径等。

测试脚本的内容(文件名为:main.sh):

#!/bin/bash

echo‘第一个参数:‘$1

echo‘第二个参数:‘$2

;操作演示;第二种方式:sh脚本文件;第三种方式:bash脚本文件;操作演示;第五种方式:绝对路径/脚本文件;;;常见的分隔符:

||

使用格式:指令1分隔符指令2;完全分隔

使用格式:指令1;指令2;与操作

使用格式:指令1指令2

TT=T

T表示指令执行成功:指令存在或指令本身有真假的输出

指令1执行成功时继续执行指令2

指令1执行失败后不再执行指令2

;或操作

使用格式:指令1||指令2

T||T=T;T||F=T

T表示指令执行成功:指令存在或指令本身有真假的输出

指令1执行成功时不再执行指令2;条件判断可以让程序具有“智能”。

一个条件表达式会有一个结果:

条件表达式成立,称该表达式为T

条件表达式不成立,称该表达式为F

例如:

条件表达式:1==2不成立,表达式结果为F

条件表达式:1=2成立,表达式结果为T;在bash中,变量$?的值与上一条指令执行是否成功有关。

如果上一条指令执行成功,则$?的值为0。

如果上一条指令执行失败,则$?的值非0。;在bash中,可以使用[]或if进行条件判断。

[]格式:[表达式];-f:指令格式:[-f文件名]

功能:判断文件是否为普通文件

-d:指令格式:[-d目录]

功能:判断目录是否存在;1.设置回收站目录;;;;;任务要求1:执行脚本,输入1、2、3,脚本安装对应的软件并提示:;任务要求2:Ctrl-C终止软件安装,或者由于某些原因安装失败,提示用户安装失败:;任务要求3:用户输入的不是1、2、3,则提示用户请输入菜单中的数字:;;在bash中,可以使用read读