课堂笔记

脚本的三部分:

脚本声明 #!/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"结尾。
  • 在每个分支程序之后要以";;"(双分号)结尾,代表该程序段结束(千万不要忘记)

 

20201011第五课 shell 脚本

 

 

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------

今天预习的时候发现网卡不能在和7一样用network进行管理了,查看了老师的文章发现是用NetworkManager,然后通过虚拟机管理器得知主机模式使用vmnet1

20201011第五课 shell 脚本

复制备份后,修改网卡设置 ,如果需要也可以增加DNS1设置,桥接需要和主机一样,nat设置为主机即可,但是这样如果网络不太好,会造成每次登陆主机延迟很大,我们暂时不需要所以取消

20201011第五课 shell 脚本

 网关设置和vmnet1 一致即可 192.168.88.1

然后重启网卡 systemctl restart NetworkManager可以看到本机ip已经修改过来

20201011第五课 shell 脚本

 然后从主机和虚拟机相互ping发现无法ping通

发现是因为主机的文件和打印机共享没有打开,所以造成的禁止ping通,打开之后从虚拟机可以ping通主机了

20201011第五课 shell 脚本

问题解决 

相关文章:

  • 2022-02-24
  • 2022-01-29
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2022-12-23
  • 2021-06-15
  • 2022-01-07
猜你喜欢
  • 2022-01-21
  • 2021-12-08
  • 2021-11-27
  • 2022-12-23
  • 2021-09-07
  • 2021-04-14
  • 2022-01-06
相关资源
相似解决方案