Sre网络班阶段测试

一:用sed 命令修改/etc/fstab文件,删除文件中的空行,注释行,并保留文件备份(7分)

[root@centos7 ~]cp -a /etc/fstab  /data/fstab
[root@centos7 ~]cd   /data
[root@centos7 data]# sed -Ei.bak '/^(#|$)/'d  fstab 
[root@centos7 data]# 
[root@centos7 data]# ll
total 8
-rw-r--r-- 1 root root 752 Dec  7 23:39 fstab
-rw-r--r-- 1 root root 972 Dec  7 22:57 fstab.bak
[root@centos7 data]# cat fstab
UUID=38e69d2a-06e2-4ada-9254-6fc27c5a2798 /                       xfs     defaults        0 0
UUID=38e69d2a-06e2-4ada-9254-6fc27c5a2798 /                       xfs     defaults        0 0
UUID=4480e468-b062-44b2-a02a-ba53ebdeba6f /boot                   xfs     defaults        0 0
UUID=4480e468-b062-44b2-a02a-ba53ebdeba6f /boot                   xfs     defaults        0 0
UUID=e8715e85-be85-465d-8f74-88b7cd3bbea0 /data                   xfs     defaults        0 0
UUID=e8715e85-be85-465d-8f74-88b7cd3bbea0 /data                   xfs     defaults        0 0
UUID=c39bae4c-fec4-4290-b258-cf252d3635d7 swap                    swap    defaults        0 0
UUID=c39bae4c-fec4-4290-b258-cf252d3635d7 swap                    swap    defaults        0 0
[root@centos7 data]# 

二: 用 find 命令查找出 /var/ 目录中大于1M且以db结尾的文件(7分)

find  /var/  -size  +1M  -name  "*db"

find  /var/  -size  +1M  -name  "*db$" 为什么不支持位置锚定$?

没有大于1m的文件
find /var/ -size 1M -name "*db"    注意:范围为0到1M
find /var/ -size +2M -name "*db"   注意:范围为1M到2M

[root@centos7 ~]# find /var/ -size 1M -name "*db" -ls
33554503    0 drwxr-xr-x  29 root     root          249 Sep 25 20:29 /var/lib/yum/yumdb
33596455  332 -rw-r--r--   1 root     root       352256 Dec  2 16:45 /var/cache/man/index.db
67878224   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/cs/index.db
67878222   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/da/index.db
67169014   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/de/index.db
100721615   20 -rw-r--r--   1 root     root        20480 Dec  2 16:45 /var/cache/man/fr/index.db
1469659   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/hu/index.db
100721614   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/id/index.db
100704669   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/it/index.db
1469660   20 -rw-r--r--   1 root     root        20480 Dec  2 16:45 /var/cache/man/ja/index.db
1310092   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/ko/index.db
67733555   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/pl/index.db
100706132   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/pt_BR/index.db
100704663   20 -rw-r--r--   1 root     root        20480 Dec  2 16:45 /var/cache/man/ru/index.db
1310093   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/sv/index.db
33596481   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/tr/index.db
33596501   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/zh_CN/index.db
67733554   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/zh_TW/index.db
33556188   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/sk/index.db
100704665   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/es/index.db
100704666   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/nl/index.db
100704667   16 -rw-r--r--   1 root     root        16384 Dec  2 16:45 /var/cache/man/local/index.db
   730    0 drwxr-xr-x   3 root     root           34 Nov 21 20:46 /var/db
1310094    4 -rw-r--r--   1 root     root          975 Dec  7 23:54 /var/888db
[root@centos7 ~]# find /var/ -size +1M -name "*db" -ls
[root@centos7 ~]# find /var/ -size 1M -name "db$"  为什么不支持?
[root@centos7 ~]# find /var/ -size 1M -name "*db$" 不支持不支持?

三: 先判断当前主机是否安装了nginx包,如果没安装,则执行命令安装,如果己安装,则执行命令卸载,用短路运算实现(rocky8.6)(7分)

nginx -v; [ $(echo $?) -ne 0 ]  && yum install nginx -y || yum  remove nginx -y

四:请用 rpm 命令列出 nginx 包中所有的配置文件(7分)

rpm -qc nginx
编译安装的查不到!!!
[root@rocky-8 ~]# rpm -qc nginx
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf

五: 新增一块20G的硬盘,分三个区,大小分别是3GB,4GB,5GB,将这三个分区做成物理卷,然后创建卷组,在该卷组上创建一个6GB的逻辑卷,挂载至/log/ 目录下,再将该逻辑卷扩容至10GB,请写出实现步骤,文件系统不限(7分)
答案写这里:

[root@centos7 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0   50G  0 part /
├─sda3   8:3    0    2G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0  100M  0 part /data
sdb      8:16   0   20G  0 disk 
sr0     11:0    1  4.4G  0 rom  
[root@centos7 ~]# 
[root@centos7 ~]# fdisk /dev/sdb 
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x4cb7d24e.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +3G
Partition 1 of type Linux and of size 3 GiB is set

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): 
Using default response p
Partition number (2-4, default 2): 
First sector (6293504-41943039, default 6293504): 
Using default value 6293504
Last sector, +sectors or +size{K,M,G} (6293504-41943039, default 41943039): +4G
Partition 2 of type Linux and of size 4 GiB is set

Command (m for help): t
Partition number (1,2, default 2): 
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
Partition number (3,4, default 3): 
First sector (14682112-41943039, default 14682112): 
Using default value 14682112
Last sector, +sectors or +size{K,M,G} (14682112-41943039, default 41943039): 5G^H
Value out of range.
Last sector, +sectors or +size{K,M,G} (14682112-41943039, default 41943039): +5G
Partition 3 of type Linux and of size 5 GiB is set

Command (m for help): t
Partition number (1-3, default 3): 
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x4cb7d24e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   8e  Linux LVM
/dev/sdb2         6293504    14682111     4194304   8e  Linux LVM
/dev/sdb3        14682112    25167871     5242880   8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@centos7 ~]# 
[root@centos7 ~]# 
[root@centos7 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0   50G  0 part /
├─sda3   8:3    0    2G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0  100M  0 part /data
sdb      8:16   0   20G  0 disk 
├─sdb1   8:17   0    3G  0 part 
├─sdb2   8:18   0    4G  0 part 
└─sdb3   8:19   0    5G  0 part 
sr0     11:0    1  4.4G  0 rom  
[root@centos7 ~]# 
[root@centos7 ~]# pvcreate /dev/sdb1 /dev/sdb2  /dev/sdb3
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdb2" successfully created.
  Physical volume "/dev/sdb3" successfully created.    
[root@centos7 ~]# vgcreate   vg0 /dev/sdb1 /dev/sdb2  /dev/sdb3
  Volume group "vg0" successfully created
[root@centos7 ~]# vgs
  VG  #PV #LV #SN Attr   VSize   VFree  
  vg0   3   0   0 wz--n- <11.99g <11.99g
[root@centos7 ~]# pvs
  PV         VG  Fmt  Attr PSize  PFree 
  /dev/sdb1  vg0 lvm2 a--  <3.00g <3.00g
  /dev/sdb2  vg0 lvm2 a--  <4.00g <4.00g
  /dev/sdb3  vg0 lvm2 a--  <5.00g <5.00g
[root@centos7 ~]# 
[root@centos7 ~]# lvcreate -L +6G -n logdata vg0
  Logical volume "logdata" created.
[root@centos7 ~]# lvs
  LV      VG  Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  logdata vg0 -wi-a----- 6.00g                                                    
          
[root@centos7 ~]# mkfs.ext4 /dev/vg
vg0/         vga_arbiter  
[root@centos7 ~]# mkfs.ext4 /dev/vg0/logdata 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
393216 inodes, 1572864 blocks
78643 blocks (5.00%) reserved for the super user

[root@centos7 ~]# lsblk -f
NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda                                                                                
├─sda1          xfs                         4480e468-b062-44b2-a02a-ba53ebdeba6f   /boot
├─sda2          xfs                         38e69d2a-06e2-4ada-9254-6fc27c5a2798   /
├─sda3          swap                        c39bae4c-fec4-4290-b258-cf252d3635d7   [SWAP]
├─sda4                                                                             
└─sda5          xfs                         e8715e85-be85-465d-8f74-88b7cd3bbea0   /data
sdb                                                                                
├─sdb1          LVM2_member                 fHueJC-eLiY-hG78-GOUL-PQhw-RA6l-WIaXEV 
│ └─vg0-logdata ext4                        1f90b559-16c8-4d75-a821-ecd8391fe03e   
├─sdb2          LVM2_member                 he3mCu-8W5I-4wTn-Mvlx-uQ2D-Lts2-DsDGuc 
└─sdb3          LVM2_member                 kdKwTK-0sbf-RRCp-nLlN-RHZh-fimf-KJldUl 
  └─vg0-logdata ext4                        1f90b559-16c8-4d75-a821-ecd8391fe03e   
sr0             iso9660     CentOS 7 x86_64 2020-11-04-11-36-43-00                 

[root@centos7 ~]# mkdir  /log
[root@centos7 ~]# mount /dev/vg0/logdata  /log
[root@centos7 ~]# df 
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                   920732       0    920732   0% /dev
tmpfs                      931500       0    931500   0% /dev/shm
tmpfs                      931500    9696    921804   2% /run
tmpfs                      931500       0    931500   0% /sys/fs/cgroup
/dev/sda2                52403200 2024508  50378692   4% /
/dev/sda5                   98980    5352     93628   6% /data
/dev/sda1                 1038336  145432    892904  15% /boot
tmpfs                      186304       0    186304   0% /run/user/0
/dev/mapper/vg0-logdata   6061632   24568   5706108   1% /log
[root@centos7 ~]# lvresize -r -L 10G /dev/vg0/logdata 
  Size of logical volume vg0/logdata changed from 6.00 GiB (1536 extents) to 10.00 GiB (2560 extents).
  Logical volume vg0/logdata successfully resized.
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/vg0-logdata is mounted on /log; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/vg0-logdata is now 2621440 blocks long.

[root@centos7 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 900M     0  900M   0% /dev
tmpfs                    910M     0  910M   0% /dev/shm
tmpfs                    910M  9.5M  901M   2% /run
tmpfs                    910M     0  910M   0% /sys/fs/cgroup
/dev/sda2                 50G  2.0G   49G   4% /
/dev/sda5                 97M  5.3M   92M   6% /data
/dev/sda1               1014M  143M  872M  15% /boot
tmpfs                    182M     0  182M   0% /run/user/0
/dev/mapper/vg0-logdata  9.8G   27M  9.3G   1% /log
[root@centos7 ~]# lsblk -f
NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda                                                                                
├─sda1          xfs                         4480e468-b062-44b2-a02a-ba53ebdeba6f   /boot
├─sda2          xfs                         38e69d2a-06e2-4ada-9254-6fc27c5a2798   /
├─sda3          swap                        c39bae4c-fec4-4290-b258-cf252d3635d7   [SWAP]
├─sda4                                                                             
└─sda5          xfs                         e8715e85-be85-465d-8f74-88b7cd3bbea0   /data
sdb                                                                                
├─sdb1          LVM2_member                 fHueJC-eLiY-hG78-GOUL-PQhw-RA6l-WIaXEV 
│ └─vg0-logdata ext4                        1f90b559-16c8-4d75-a821-ecd8391fe03e   /log
├─sdb2          LVM2_member                 he3mCu-8W5I-4wTn-Mvlx-uQ2D-Lts2-DsDGuc 
│ └─vg0-logdata ext4                        1f90b559-16c8-4d75-a821-ecd8391fe03e   /log
└─sdb3          LVM2_member                 kdKwTK-0sbf-RRCp-nLlN-RHZh-fimf-KJldUl 
  └─vg0-logdata ext4                        1f90b559-16c8-4d75-a821-ecd8391fe03e   /log
sr0             iso9660     CentOS 7 x86_64 2020-11-04-11-36-43-00                 

六:根据下列命令执行结果,写出你能读出来的信息(7分)

[mage@rocky86 ~]$ lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                  8:0    0  200G  0 disk
├─sda1              8:1    0    1G  0 part /boot
└─sda2              8:2    0  199G  0 part
  ├─rl-root       253:0    0   70G  0 lvm  /
  ├─rl-swap       253:1    0    2G  0 lvm  [SWAP]
  └─rl-home       253:2    0  127G  0 lvm  /home
  1. 有一块200G的磁盘sda,分了2个分区,其中sda1大小为1G ,sda2大小为199G,其中sda1挂载在/boot下。
  2. sda2的200g都做了lvm,lvm其中70G逻辑盘rl-root
    挂载到了根下/;其中2G做了[SWAP]用途,最后127G挂载到了/home目录下面。

七: 请配置一块网卡,IP地址是 10.0.0.110,子网掩码是24位,网关是 10.0.0.2,DNS分别是 10.0.0.2 和 114.114.114.114,请写出配置文件内容,另外,写一个脚本,配置成别名,该别名对 root用户永久生效,要求传入网卡设备名可以让修改后的内容重载生效。(8分)

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=10.0.0.110
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=10.0.0.2
DNS2=114.114.114.114

写一个脚本,配置成别名:

[root@centos7 ~]# cat .bashrc 
......
alias setnetwork='bash /data/ipconfig.sh'
.......
[root@centos7 ~]cat /data/ipconfig.sh
#! /bin/bash
DEVICE="DEVICE=$1"
NAME=$1
IPADDR=$2
NETMASK=255.255.255.0
GATEWAY=$3
DNS1=$4
DNS2=$5
[ -n "$1" ] &&  sed -ri '/DEVICE=/c'$DEVICE'' /data/ifcfg-eth0
[ -n "$1" ] &&  sed -ri '/NAME=/cNAME='$1'' /data/ifcfg-eth0
[ -n "$2" ] &&  sed -ri '/IPADDR=/cIPADDR='$2'' /data/ifcfg-eth0
[ -n "$3" ] && sed -ri '/GATEWAY=/cGATEWAY='$3'' /data/ifcfg-eth0
[ -n "$4" ] && sed -ri '/DNS1=/cDNS1='$4'' /data/ifcfg-eth0
[ -n "$5" ] && sed -ri '/DNS2=/cDNS5='$5'' /data/ifcfg-eth0

echo $DEVICE

nmcli connection reload

nmcli connection up $1

[root@centos7 data]# setnetwork  eth0  192.168.11.11 192.168.11.1  114.114.114.114
DEVICE=eth0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
[root@centos7 data]# cat ifcfg-eth0 
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=192.168.11.11
NETMASK=255.255.255.0
GATEWAY=192.168.11.1
DNS1=114.114.114.114
[root@centos7 data]# setnetwork eth1
DEVICE=eth1
Error: unknown connection 'eth1'.
[root@centos7 data]# 
[root@centos7 data]# 
[root@centos7 data]# cat ifcfg-eth0 
DEVICE=eth1
NAME=eth1
BOOTPROTO=static
IPADDR=192.168.11.11
NETMASK=255.255.255.0
GATEWAY=192.168.11.1
DNS1=114.114.114.114
[root@centos7 data]# 

八: 请描述一下一个网络请求从一 台设备到另一台设备的具体过程(10分)

1、首先如果服务端是url,那么客户端需要先做dns解析将url解析成ip地址。
  1.1 本地有hosts文件有url和ip的对应或者有缓存那么不需要dns解析。
  1.2 本地没有那么client需要向自己的dns服务器发解析请求。
     1.2.1 本地dns有缓存将解析结果给client。
     1.2.2 本地dns没有缓存那么本地服务器会去找根服务器找结果,根服务器会迭代查询最终告诉你该url的ip地址,本地dns同时缓存。
     
2,有了ip地址以后client发送arp的请求,请求ip和mac地址的对应关系,然后封装数据包发送给服务端。
     2.1 同网段服务端直接返回自己的mac地址给client端。
       2.1.1 client封装请求报文,发送给服务端。完成通讯
     2.2 不同网段客户端直接目的mac封装网关的mac地址发送。
        2.1.2 网关替将源地址替换成自己的公网地址然后通过路由协议通过中间路由设备到了服务端的网关然后到了数据报文到了服务端。(涉及到NAT和DNT地址的转换)
        2.1.3 服务端回包路由到了client的网关,将目的mac替换成client的mac,将目的地址替换成client地址完成回包。
       

DNS查询的拓展:

Client -->hosts文件 --> Client DNS Service Local Cache --> DNS Server (recursion递归) --> DNS Server Cache -->DNS iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS-->......客户端的域名DNS。

在这里插入图片描述

九:当执行shell脚本时,可向shell脚本传参,请说明 $0, KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲,@,$* 这几个参数的含义(10分)

$1, $2, ... 对应第1个、第2个等参数,shift [n]换位置 
$0 命令本身,包括路径 
$* 传递给脚本的所有参数,全部参数合为一个字符串 
$@ 传递给脚本的所有参数,每个参数为独立字符串 
$# 传递给脚本的参数的个数 
注意:$@ $* 只在被双引号包起来的时候才会有差异
范例:
[root@centos7 data]# bash chuanchanshu.sh  {1..30}
参数1是  1
参数1是  2
参数1是  3
参数1是  10
参数1是  11
参数1是  12
参数总数  30
所有参数列表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
所有参数列表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
脚本名称是 chuanchanshu.sh
[root@centos7 data]# cat chuanchanshu.sh 
#!/bin/bash
echo ""参数1是"  $1"
echo ""参数1是"  $2"
echo ""参数1是"  $3"
echo ""参数1是"  ${10}"
echo ""参数1是"  ${11}"
echo ""参数1是"  $12"
echo ""参数总数"  $#"
echo ""所有参数列表" $*"
echo ""所有参数列表" $@"
echo ""脚本名称是" $0"

十: 写一个脚本,计算出100以内能被3整除的数之和,以及能被4整除的数之后,然后再输出这两个数字(10分)

[root@centos7 data]# bash 111.sh 
能被3整除数之和为 1683
能被3整除数之和为 1300
[root@centos7 data]# cat 111
cat: 111: No such file or directory
[root@centos7 data]# cat 111.sh 
#!/bin/bash
sum=0
sum1=0
for i in {1..100}
do
      if [ $[i%3] -le 0 ];then
         let sum+=i
      fi
      if [ $[i%4] -le 0 ];then
         let sum1+=i     
      fi
 done
echo "能被3整除数之和为" $sum
echo "能被3整除数之和为" $sum1
[root@centos7 data]# 

十一:写一个脚本,打印输出8行8列的国际象棋棋盘,使用红黄两色(10分)

答案写这里:

在这里插入图片描述

root@centos7 data]# cat xiangqi.sh 
#!/bin/bash
 
#YELLOW=\033[43m
#RED=\033[41m
#END=\033[0m

 for i in {1..8};do
    for j in {1..8};do
        sum=i+j
     if [ $[sum%2] -le 0 ];then
          echo -ne "\033[41m  \033[0m"
       else
         echo -ne "\033[43m  \033[0m"
     fi
    done
   echo ""
 done
[root@centos7 data]# 

十二:写一个脚本,生成10个随机数放到一个数组中,再将该数组中的元素从小大到排序进行输出(10分)

答案写这里:

[root@centos7 data]# bash suijishupaixu.sh 
随机数列表为: 15097 26123 29268 1430 27343 31688 19647 28795 18467 24163
随机数最大值为: 31688
随机数最小值为:1430
[root@centos7 data]# 
[root@centos7 data]# cat suijishupaixu.sh 
#!/bin/bash
#"给数组赋值 小 和大"
declare -i  xiao  da
#"创建一个普通数组名字为nuber"
declare -a  number

for i in {0..9}
 do 
   number[$i]=$RANDOM
   if
   [ $i -eq 0 ]
  then
  xiao=${number[0]} && da=${number[0]}
   fi
  if
  [ ${number[$i]} -gt $da ]
 then
 da=${number[$i]}
   fi

if
  [ ${number[$i]} -lt $xiao ]
 then
 xiao=${number[$i]}
fi

done

echo "随机数列表为:"  ${number[*]}
echo "随机数最大值为:" $da
echo "随机数最小值为:"$xiao
[root@centos7 data]# 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值