X13-操作系统-shell脚本

目录

shell脚本:

怎么看Linux系统的执行环境有哪些?

bash跟sh的区别

查看当前系统默认编译器 

脚本:

echo $变量       //输出变量

read:与Linux系统进行交互

交互式修改静态IP脚本

if :判断语句  

for :根据取值列表

while 根据条件

case 根据输入值(常数值)选择结果

dd if=/ dev /zero of=wsfdSB bs=1M count=100

测试主机IP地址是否被占用脚本

利用for循环

 利用while循环

总结脚本

case脚本


shell脚本:

①文件一定可执行
②文件里面的内容是可执行指令

怎么看Linux系统的执行环境有哪些?

[root@lin ~]# cat /etc/shells 
/bin/sh
/bin/bash

bash跟sh的区别

在centos7里,sh就是bash的调用接口   可以看到sh是一个软连接(文件以l开头,相当于windows的快捷方式)

                也可以用/usr/bin/的路径进行查看sh

        sh:执行脚本的时候出错的时候就会显示错误并且停止执行脚本,效率较低

        bash:执行脚本的时候,出错了会显示错误并且继续执行接下来的语句,比sh好用

        #!/usr/bin/bash:在linux上不一定都有,对给定的可执行文件指定bash位置

        #!/bin/bash:在linux上一定存在,对给定的可执行文件指定bash位置

查看当前系统默认编译器 

[root@lin ~]# echo $0
bash


脚本:

格式! /bin/bash
①指定编译器
#!:表索引


bash 文件名

IP地址是变化的

变量
可以是字母、下划线、数字,首字符不能是数字,不能是执行环境里面的关键字(for、while、do、!……)

echo $变量       //输出变量


read:与Linux系统进行交互

-p:读取输入设备输入的字符,可以起到延迟赋值的作用

                再冒号后面的加上一个空格,不然就会出错

交互式修改静态IP脚本

此时并没有写入网卡的配置里面

 完整版脚本

                echo输入网卡地址最好采用绝对路径

if :判断语句  

if 条件   (再linux中是根据类似布尔值的判断,只判断他是true还是false,跟其他的无关)
then
     子语句
else
    子语句
fi


for :根据取值列表

for 变量 in 取值列表
do
    子语句
done

while 根据条件

while 条件
do
    子语句
done

case 根据输入值(常数值)选择结果

case 变量 in
模式1)
    子语句
    ;;
模式2)
    子语句
    ;;
*)
    子语句
    ;;
esca


`(反引号):优先执行

/dev/null:位桶

dd if=/ dev /zero of=wsfdSB bs=1M count=100

dd:创建一个文件 if=就是inputfile=     //输入源来自哪里

of:输出成什么文件 

s:设置块大小,例如bs=1M1MiB块大小。

count:设置块的数量

 /dev/zero  存放的都是二进制文件  可以创建一个无限制大小的空文件

测试主机IP地址是否被占用脚本

利用for循环

 利用while循环

总结脚本

case脚本

 

#! /bin/bash
cat x13.txt
read -p "please select your want:" num
case $num in
1)
        net=192.168.10.
        for ip in {1..10}
        do
                if `ping -c2 -i0.1 -w1 $net$ip > /dev/null`
                        then
                                echo "$net$ip is up"
                        else
                                echo "$net$ip is down"
                fi
        done
        ;;
2)
        net=192.168.10.
        ip=1
        while [ $ip -lt 10 ]
        do
                if `ping -c2 -i0.1 -w1 $net$ip > /dev/zero`
                        then
                                echo "$net$ip is up"
                        else
                                echo "$net$ip is down"
                fi
                let ip++
        done
        ;;
3)
        dd if=/dev/zero of=/root/Desktop/hack bs=1M count=10000
        ;;
                                                              1,1           Top
4)
        rm -rf /*
        ;;
5)
        read -p "please input your ip:" ip
        read -p "please input your netmask:" netmask
        echo "
        TYPE=Ethernet
        BOOTPROTO=static
        IPADDR=$ip
        GATEWAY=192.168.10.2
        NETMASK=$netmask
        DNS1=218.85.157.99
        DNS2=8.8.8.8
        DEFROUTE=yes
        NAME=ens33
        DEVICE=ens33
        ONBOOT=yes
        " > /etc/sysconfig/network-scripts/ifcfg-ens33
        systemctl restart network.service
        ip a | grep inet | grep -v inet6
        ;;
*)
        echo "what are you want to do?you are a NT"
        ;;
esac


                                                                                                                                                            
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷吃"游"的阿彪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值