linux4-vim与shell脚本

1.vim +文件名编辑文件

a、i、o进入输入模式,esc退出输入模式 ;  :w保存 :q退出 :q!强制退出

2.vim /etc/hostname修改主机名

3./etc/sysconfig/network-scripts此目录中修改网卡信息

 1 TYPE=Ethernet                  //设备类型
 2 BOOTPROTO=static            //ip分配模式
 3 NAME=ens160                  //网卡名称
 4 IPADDR=192.168.10.10
 5 NETMASK=255.255.255.0 //子网掩码
 6 GATEWAY=192.168.10.1    //网关
 7 DNS1=192.168.10.1
 8 
 9 [root@linuxprobe network-scripts]# nmcli connection reload ens160
10 [root@linuxprobe network-scripts]# ping 192.168.10.10
11 PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
12 64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.083 ms
13 重启网卡测试网络连通性

4.编写简单shell脚本

1 [root@linuxprobe~]# vim example.sh
2 #!/bin/bash
3 #For Example BY linuxprobe.com
4 pwd
5 ls -al
6 第一行的脚本声明(#!7 用来告诉系统使用哪种 Shell 解释器来执行该脚本;第二行的注释信息(#)是对脚本功能和
8 某些命令的介绍信息,使得自己或他人在日后看到这个脚本内容时,可以快速知道该脚本的
9 作用或一些警告信息;第三、四行的可执行语句也就是我们平时执行的 Linux 命令

5.执行脚本

 1 1.
 2 [root@linuxprobe~]# bash example.sh
 3 /root
 4 total 60
 5 dr-xr-x---. 15 root root 4096 Oct 12 00:41 .
 6 dr-xr-xr-x. 17 root root 224 Jul 21 05:04 ..
 7 2.
 8 [root@linuxprobe~]# ./example.sh
 9 bash: ./Example.sh: Permission denied
10 [root@linuxprobe~]# chmod u+x example.sh
11 [root@linuxprobe~]# ./example.sh
12 /root
13 total 60
14 dr-xr-x---. 15 root root 4096 Oct 12 00:41 .

6.脚本参数

 1 [root@linuxprobe~]# vim example.sh
 2 #!/bin/bash
 3 echo "当前脚本名称为$0"
 4 echo "总共有$#个参数,分别是$*。"
 5 echo "第 1 个参数为$1,第 5 个为$5。"
 6 [root@linuxprobe~]# bash example.sh one two three four five six
 7 当前脚本名称为 example.sh
 8 总共有 6 个参数,分别是 one two three four five six。
 91 个参数为 one,第 5 个为 five。
10 $0 对应的是当前 Shell 脚本程序的名称,$#对应的是总
11 共有几个参数,$*对应的是所有位置的参数值,$?对应的
12 是显示上一次命令的执行返回值,而$1、$2、$3……则分
13 别对应着第 N 个位置的参数值

7.

 

1 [root@linuxprobe~]# [ -d /etc/fstab ]
2 [root@linuxprobe~]# echo $?
3 1
4 0为存在非0为不存在
5 
6 &&,它表示当前面的命令执行成功后才会执行它后面的命令,
7 因此可以用来判断/dev/cdrom 文件是否存在,若存在则输出 Exist 字样。
8 [root@linuxprobe~]# [ -e /dev/cdrom ] && echo "Exist"
9 Exist

8.“或”,它在 Linux 系统中的运算符号为||,表示当前面的 命令执行失败后才会执行它后面的命令,

 1 [root@linuxprobe~]# echo $USER
 2 root
 3 [root@linuxprobe~]# [ $USER = root ] || echo "user"
 4 [root@linuxprobe~]# su - linuxprobe
 5 [linuxprobe@linuxprobe~]$ [ $USER = root ] || echo "user"
 6 user
 7 
 8 “非”,在 Linux 系统中的运算符号是一个叹号(!),它表示把条件测
 9 试中的判断结果取相反值。也就是说,如果原本测试的结果是正确的,则将其变成错误的;
10 原本测试错误的结果,则将其变成正确的
11 [root@linuxprobe~]# [ ! $USER = root ] || echo "administrator"
12 administrator

9.或与非结合

1 当前我们正在登录的即为管理员用户—root。下面这个示例的执行顺序是,先判断当前
2 登录用户的 USER 变量名称是否等于 root,然后用逻辑“非”运算符进行取反操作,效果就
3 变成了判断当前登录的用户是否为非管理员用户。最后若条件成立,则会根据逻辑“与”运
4 算符输出 user 字样;若条件不满足,则会通过逻辑“或”运算符输出 root 字样,而只有在前
5 面的&&不成立时才会执行后面的||符号。
6 [root@linuxprobe~]# [ ! $USER = root ] && echo "user" || echo "root"
7 root

10.整数比较运算符

 

1 [root@linuxprobe~]# [ 10 -gt 10 ]
2 [root@linuxprobe~]# echo $?
3 1
4 [root@linuxprobe~]# [ 10 -eq 10 ]
5 [root@linuxprobe~]# echo $?
6 0

1 [root@linuxprobe~]# [ -z $String ]
2 [root@linuxprobe~]# echo $?
3 0

11、流程控制语句

 

posted @ 2024-04-20 15:03  光璃  阅读(24)  评论(0)    收藏  举报