;;;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读