Linux Shell 实践

1|0shell脚本

注意事项:

  • shell 开头必备 #!/bin/bash
  • 命名-规则
    • 变量名大写
    • 局部变量小写
    • 函数名小写
    • 名字体现出实际作用

1|1脚本1:获取简易IP地址

IP=`ifconfig enp0s3 |head -2|tail -1|awk '{print $2}'` ZW=`ifconfig enp0s3 |head -2|tail -1|awk '{print $4}'` GW=` route -n|tail -1|awk '{print $2}'` HN=`hostname` DNS=`cat /etc/resolv.conf |grep nameserver | awk '{print $2}'` echo "IP=$IP" echo "ZW=$ZW" echo "GetWay=$ZW" echo "hostname=$HN" echo "DNS=$DNS"

输出:

image-20221109151937333

补充:

awk命令

linux命令中文本处理三剑客之一

默认情况下,awk 会将如下变量分配给它在文本行中发现的数据字段:

  • $0 代表整个文本行;
  • $1 代表文本行中的第 1 个数据字段;
  • $2 代表文本行中的第 2 个数据字段;
  • $n 代表文本行中的第 n 个数据字段。
  • 可在awk 命令后加参数-F '指定要分隔的字符'

1|2脚本2:扫描同一网段的所有IP地址

#!/bin/bash a=1 IP=`ifconfig enp0s3 |head -2|tail -1|awk '{print $2}'` IP1=`ifconfig enp0s3 |head -2|tail -1|awk '{print $2}'|awk -F '.' '{print $1}'` IP2=`ifconfig enp0s3 |head -2|tail -1|awk '{print $2}'|awk -F '.' '{print $2}'` IP3=`ifconfig enp0s3 |head -2|tail -1|awk '{print $2}'|awk -F '.' '{print $3}'` echo "$IP" while [ $a -lt 255 ] do S=`ping -c 1 $IP1.$IP2.$IP3.$a |grep "received"|awk '{print $4}'` if [ $S -eq 1 ] then echo "$IP1.$IP2.$IP3.$a" fi a=$(($a+1)) done

是则输出

image-20221109161102368

1|3脚本三:猜数字Game

num=$[RANDOM%100+1] T=0 while [ $T -lt 11 ] do echo "input:" read -a N if [ $N -eq $num ] then echo "yes" elif [ $N -ne $num ] then echo "no" fi T=$(($T+1)) done

实际效果:

image-20221109162417127


__EOF__

本文作者~内个臣呐~
本文链接https://www.cnblogs.com/Xin-chen/p/16874910.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ~内个臣呐~  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示