课堂笔记
脚本的三部分:
脚本声明 #!/bin/bash 声明编译器 (可以省略但是不建议省略)
脚本注释:标注功能的一些备注信息和说明
脚本命令:功能具体实现
两种执行模式 1 bash 脚本名称 2 绝对路径/脚本名称 备注:sh 也可以,但是实际上sh和bash是两个解释器
参数内置功能:
1 $0 脚本名称
2 $# 接收到的参数个数
3 $* 所有接收到的变量
$? 用来获取上一条语句是否执行成功 这些内置的变量可以用来做很多判断
》条件测试语句 [ -d /etc/fatab ]
1 文件测试语句 -d -e f -r -w -x
2 逻辑测试语句 && || !
3 整数值比较语句 -eq -ne -gt -lt -ge -le [ 3 > 5 ] 这样有时候也可以成功,但是这样不好有时候也会失败
4 字符串比较语句 = != -z 这个地方的判断,前后空格是不影响比较结果的,比如如果一个字符串是空格,那么他就是为空
》流程控制语句
1 if 条件;then 语句1; else 语句2; fi;
2 if 条件; then 语句1; elif 语句2; else 语句3; fi;
3 for 变量 in 内容; do 语句1; done;
4 while 条件; do 语句1; done;
备注: 1 数学计算需要使用 expr 1+2 结果3
2 let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。如果表达式中包含了空格或其他特殊字符,则必须引起来。
5 case 变量值 in
情况1)
语句1 ;;
情况2)
语句2;;
*)
如果不是以上情况默认语句;;
esac;
- case 语句会取出变量中的值,然后与语句体中的值逐一比较。如果数值符合,则执行对应的程序;如果数值不符,则依次比较下一个值;如果所有的值都不符合,则执行"*)"("*"代表所有其他值)中的程序。
- case 语句以"case"开头,以"esac"结尾。
- 在每个分支程序之后要以";;"(双分号)结尾,代表该程序段结束(千万不要忘记)
-----------------------------------------------------------------------------------------------------------------------------------------------------------
今天预习的时候发现网卡不能在和7一样用network进行管理了,查看了老师的文章发现是用NetworkManager,然后通过虚拟机管理器得知主机模式使用vmnet1
复制备份后,修改网卡设置 ,如果需要也可以增加DNS1设置,桥接需要和主机一样,nat设置为主机即可,但是这样如果网络不太好,会造成每次登陆主机延迟很大,我们暂时不需要所以取消
网关设置和vmnet1 一致即可 192.168.88.1
然后重启网卡 systemctl restart NetworkManager可以看到本机ip已经修改过来
然后从主机和虚拟机相互ping发现无法ping通
发现是因为主机的文件和打印机共享没有打开,所以造成的禁止ping通,打开之后从虚拟机可以ping通主机了
问题解决