shell脚本编写、一键安装nginx、条件语句、 检测网段脚本、 打印九九乘法表、

news2024/9/9 1:23:55

1.shell脚本

1.编写及运行脚本

[root@13git ~]# vim hello.sh

[root@13git ~]# bash hello.sh 
[root@13git ~]# sh hello.sh 
[root@13git ~]# source hello.sh         //在当前进程执行
[root@13git ~]# chmod +x hello.sh 
[root@13git ~]# ./hello.sh 

2.一键安装nginx

[root@13git ~]# vim nginx.sh

#!/bin/bash

yum -y install gcc gcc-c++ make pcre-devel openssl-devel wget
cd /usr/local/src
wget "https://nginx.org/download/nginx-1.27.0.tar.gz"
tar xf nginx-1.27.0.tar.gz
cd nginx-1.27.0
./configure --prefix=/usr/local/nginx
make -j 4
make install

 [root@13git ~]# source nginx.sh        //运行脚本

3.测试网络脚本:

[root@13git ~]# vim ping.sh
#!/bin/bash
read -p "请输入要测试的网址:" web
ping -c 3 $web &> /dev/null
if [ $? -eq 0 ];then
    echo "此网络通!"
else
    echo "无法访问"
fi
[root@13git ~]# bash ping.sh 
请输入要测试的网址:www.baidu.com
此网络通!

4.条件语句:

[root@13git ~]# vim touch.sh

#!/bin/bash

echo "1新增文件 2删除文件 3查找文件 4修改文件"
read -p "请输入序号选择功能:" m
if [ $m == 1 ];then
        touch aaaa.txt
elif [ $m == 2 ];then
        rm -rf aaaa.txt
else
        echo "其他功能正在开发中"
fi

运行文件,查看内容: 

[root@13git ~]# bash touch.sh 
1新增文件 2删除文件 3查找文件 4修改文件
请输入序号选择功能:4
其他功能正在开发中
[root@13git ~]# bash touch.sh 
1新增文件 2删除文件 3查找文件 4修改文件
请输入序号选择功能:1
[root@13git ~]# ls
aaaa.txt                           mongodb-linux-x86_64-rhel70-3.6.3.tgz
[root@13git ~]# bash touch.sh 
1新增文件 2删除文件 3查找文件 4修改文件
请输入序号选择功能:2
[root@13git ~]# ls
anaconda-ks.cfg                        nginx.sh

 5.创建用户和密码脚本:

[root@13git ~]# vim zhanghao.sh
#!/bin/bash
read -p "username:" u
read -p "password:" p
useradd $u
echo $p | passwd --stdin $u
if [ $? -eq 0 ];then
    echo "账户$u注册成功"
fi

[root@13git ~]# bash zhanghao.sh 
username:pp
password:1
更改用户 pp 的密码 。
passwd:所有的身份验证令牌已经成功更新。
账户pp注册成功

 6.遍历脚本

[root@13git ~]# vim bianli.sh 

#!/bin/bash

for x in "$*"
do
        echo $x
done

echo $?
echo $#
echo $0

[root@13git ~]# bash bianli.sh 1 2 3 d s 
1 2 3 d s
0
5
bianli.sh
[root@13git ~]# 

 7.脚本实例:

[root@13git ~]# vim city.sh

#!/bin/bash
for city in 青岛 青海 陕西 北京
do      
        echo "$city是个好地方!"
done

[root@13git ~]# bash city.sh 
青岛是个好地方!
青海是个好地方!
陕西是个好地方!
北京是个好地方!
[root@13git ~]# 

 8.检测网段脚本:

[root@13git ~]# vim pingwangduan.sh

#!/bin/bash
for IP in $(echo 192.168.2.{10..20})
do
        ping -c 2 -i 0.1 $IP &> /dev/null
        if [ $? -eq 0 ];then
        echo "Host $IP is up."
        fi
done

[root@13git ~]# bash pingwangduan.sh 
Host 192.168.2.13 is up.
Host 192.168.2.16 is up.
[root@13git ~]# 

 9.打印九九乘法表:

[root@13git ~]# vim jiujiu.sh

[root@13git ~]# cat jiujiu.sh
#!/bin/bash
for i in `seq 9`
do
    for j in `seq $i`
    do
        echo -n  $i*$j=$[i*j]
    done
    echo  ""
done

[root@13git ~]# bash jiujiu.sh 
1*1=1 
2*1=22*2=4 
3*1=33*2=63*3=9 
4*1=44*2=84*3=124*4=16 
5*1=55*2=105*3=155*4=205*5=25 
6*1=66*2=126*3=186*4=246*5=306*6=36 
7*1=77*2=147*3=217*4=287*5=357*6=427*7=49 
8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64 
9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81 
[root@13git ~]# 

10. 打印菱形

[root@13git ~]# vim lingxing.sh 
#!/bin/bash
for (( i = 1; i < 12; i++))
do
   if [[ $i -le 6 ]]
   then
    for ((j = $((12-i)); j > i; j--))
    do
        echo -n " "
    done
    for ((m = 1; m <= $((2*i-1)); m++))
    do
        echo -n "* "
    done
        echo ""
#****************************************************************************
   elif [[ $i -gt 6 ]]
   then
    n=$((12-i))
    for ((j = $((12-n)); j > n; j--))
    do
        echo -n " "
    done
    for ((m = 1; m <= $((2*n-1)); m++))
    do
        echo -n "* "
    done
        echo ""
   fi
done


11.

[root@13git ~]# vim selinux.sh

#!/bin/bash
#备份

read -p "请输入指定IP地址:" ip

#替换dhcp为none
sed -i '/dhcp/s/dhcp/none/g' /etc/sysconfig/network-scripts/ifcfg-ens33
#在文档最后添加5行


#IPADDR
sed -i '$aIPADDR='"$ip"'' /etc/sysconfig/network-scripts/ifcfg-ens33

#NETMAST
sed -i '$aNETMASK=255.255.255.0' /etc/sysconfig/network-scripts/ifcfg-ens33

#GATEWAY
sed -i '$aGATEWAY=192.168.2.1' /etc/sysconfig/network-scripts/ifcfg-ens33

#DNS1
sed -i '$aDNS1=8.8.8.8' /etc/sysconfig/network-scripts/ifcfg-ens33

#DNS2
sed -i '$aDNS2=114.114.114.114' /etc/sysconfig/network-scripts/ifcfg-ens33

#修改uuidsed -i '/UUID/cUUID='"$(uuidgen)"'' /etc/sysconfig/network-scripts/ifcfg-ens33

#修改主机名
read -p "请输入主机名称" hn
hostnamectl set-hostname $hn

#关闭selinux
 setenforce 0
sed -i '/SELINUX=/cSELINUX=disable' /etc/selinux/config

#关闭防火墙
 systemctl stop firewalld
 systemctl disable firewalld

#关闭Network
# systemctl stop NetworkManager
# systemctl disable NetworkManager

[root@13git ~]# bash selinux.sh 
请输入指定IP地址:192.168.2.13
请输入主机名称mm
setenforce: SELinux is disabled

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1959012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小红书笔记评论采集全攻略:三种高效方法教你批量导出

摘要&#xff1a; 本文将深入探讨如何利用Python高效采集小红书平台上的笔记评论&#xff0c;通过三种实战策略&#xff0c;手把手教你实现批量数据导出。无论是市场分析、竞品监测还是用户反馈收集&#xff0c;这些技巧都将为你解锁新效率。 一、引言&#xff1a;小红书数据…

芋道源码/yudao-cloud二次开发日记(商品sku数据归类为规格属性)

商品的每一条规格和属性在数据库里都是单一的一条数据&#xff0c;从数据库里查出来后&#xff0c;该怎么归类为对应的规格和属性值&#xff1f;如下图&#xff1a; 在商城模块&#xff0c;商品的单规格、多规格、单属性、多属性功能可以说是非常完整&#xff0c;如下图&#x…

Github2024-07-29 开源项目周报Top15

根据Github Trendings的统计,本周(2024-07-29统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目2Java项目2HTML项目2C项目2TypeScript项目2JavaScript项目2非开发语言项目1Vue项目1Go项目1Dart项目1C++项目1Rust项目1Jupyter Note…

项目计划书编制方案(DOC)

项目开发计划包括项目描述、项目组织、成本预算、人力资源估算、设备资源计划、沟通计划、采购计划、风险计划、项目过程定义及项目的进度安排和里程碑、质量计划、数据管理计划、度量和分析计划、监控计划和培训计划等。 软件资料清单列表部分文档&#xff1a; 工作安排任务书…

Temporal(时效)模式01

Andy Carlson, Sharon Estepp, Martin Fowler 著&#xff0c;透明 译 抽象 在面向对象设计中&#xff0c;我们不断使用“对象”&#xff08;object&#xff09;这个词。对象不仅仅用来表现真实世界中存在的物件&#xff0c;它们也被用来表现那些曾经存在但已经消失了的物件&…

关于Docker Engine AuthZ 插件授权绕过漏洞 (CVE-2024-41110)

一、漏洞概述 漏洞名称&#xff1a;Docker Engine AuthZ 插件授权绕过漏洞 &#xff08;CVE-2024-41110&#xff09; 漏洞等级&#xff1a;高危 漏洞描述&#xff1a;DockerEngine是Docker的核心组件&#xff0c;是一 个开源的容器引擎&#xff0c;负责构建、运行和管理容器…

又一新AI搜索工具,OpenAI 推出新的搜索方式 SearchGPT

系列文章目录 每天推荐AI工具系列文章回顾&#xff1a; 选择 haiyi海艺图像生成、LoRA、模型的使用和训练网站 tusiart吐司艺术图像生成、LoRA 模型的使用和训练网站 解锁AI创造力的无限可能&#xff1a;探索Vivago.ai的革命性功能 文章目录 系列文章目录前言一、SearchGPT…

html+css+js前端作业和平精英6个页面页面带js

htmlcssjs前端作业和平精英6个页面页面带js 下载地址 https://download.csdn.net/download/qq_42431718/89595600 目录1 目录2 项目视频 htmlcssjs前端作业和平精英6个页面带js 页面1 页面2 页面3 页面4 页面5 页面6

锐捷RCNA | RGOS日常管理操作和Windows常用命令

RGOS操作系统最主要的三大特性是模块化、安全性、开放性。 RGOS平台登陆方式 平台概述 RGOS全称“锐捷通用操作系统”&#xff0c;即网络设备的操作系统 基于RGOS开发的软件版本目前为11.x&#xff0c;又被称为11.x平台优势 模块化设计&#xff0c;方便运维管理故障隔离&…

[ARC105E] Keep Graph Disconnected题解

题目 考虑加任意一条边时都会输的图的状态&#xff1a;图被分成两个强联通分量&#xff0c;每一个强联通分量都是一个完全图。 也就是说&#xff0c;假设一开始节点 1 1 1 和节点 n n n 不联通&#xff0c;那么还可以加 n ( n − 1 ) 2 − m − c n t 1 ( n − c n t 1 ) \…

78.SAP ME - SAP ME和SAP NetWeaver log files的位置

目录 1.defaultTrace files 内容 文件位置 2.dev_server files 内容 文件位置 3.dev_icm files 内容 文件位置 4.responses.trc files 内容 文件位置 1.defaultTrace files You should always check this log first when any system issue is reported 内容 包含…

经典文献阅读之--GraphAD(端到端自动驾驶的交互场景图)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务&#xff0c;并且需要GPU资源&#xff0c;可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU&#xff0c;按时收费每卡2.6元&#xff0c;月卡只需要1.7元每小时&…

什么是项目计划?项目计划如何制定?

做不好项目计划的项目管理&#xff0c;注定会失败&#xff01; 项目计划是帮助管理人员有效实现目标的非常重要的一环&#xff0c;在开始任何项目之前&#xff0c;制定一份详细的计划作为所有参与者的指导性文件非常重要。那么什么是项目计划&#xff1f;项目计划又该如何制定…

springboot集成thymeleaf实战

引言 笔者最近接到一个打印标签的需求&#xff0c;由于之前没有做过类似的功能&#xff0c;所以这也是一次学习探索的机会了&#xff0c;打印的效果图如下&#xff1a; 这个最终的打印是放在58mm*58mm的小标签纸上&#xff0c;条形码就是下面的35165165qweqweqe序列号生成的&…

民大食堂用餐小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;档口号管理&#xff0c;商家餐品管理&#xff0c;餐品种类管理&#xff0c;购物车管理&#xff0c;订单信息管理 微信端账号功能包括&#xff1a;系统首页&a…

pytorch-迁移学习

目录 1. 宝可梦数据集训练的问题2. 迁移学习3. 迁移学习实现4. 完整代码 1. 宝可梦数据集训练的问题 宝可梦数据总共有1000多张&#xff0c;对于resnet18网络来说数据量是不够的&#xff0c;训练时很容易出现过拟合&#xff0c;那么如何解决这个问题呢&#xff1f; 宝可梦数据…

常见的几种数据标注类型

数据标注是机器学习和人工智能项目中一个至关重要的步骤&#xff0c;它帮助算法理解输入数据中的关键特征。根据不同的应用场景和技术需求&#xff0c;数据标注可以分为多种类型。 以下是一些常见的数据标注类型&#xff1a; 图像标注&#xff1a; 边界框&#xff1a;在物体周…

手撕数据结构---栈和队列的概念以及实现

栈的概念&#xff1a; 栈&#xff1a;⼀种特殊的线性表&#xff0c;其只允许在固定的⼀端进⾏插⼊和删除元素操作。进⾏数据插⼊和删除操作的⼀端称为栈顶&#xff0c;另⼀端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈…

Doris-计算特性

1 全新优化器 1.1 如何开启1.2 统计信息 1.2.1 使用ANALYZE语句手动收集1.2.1 自动收集1.2.3 作业管理1.3 会话变量及配置项调优参数2 Join相关 2.1 支持的Join算子2.2 支持的shuffle方式 2.2.1 Broadcast Join2.2.2 Shuffle Join2.2.3 Bucket Shuffle Join 2.2.3.1 原理2.2.3.…

【CTFWP】ctfshow-web40

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 题目介绍&#xff1a;题目分析&#xff1a;payload&#xff1a;payload解释&#xff1a;payload2&#xff1a;payload2解释&#xff1a;flag 题目介绍&#xff1a; …