shell脚本 1

简介: shell脚本

( 1)用户猜数字

 

#!/bin/bash

 

# 脚本生成一个 100 以内的随机数 ,提示用户猜数字 ,根据用户的输入 ,提示用户猜对了 , # 猜小了或猜大了 ,直至用户猜对脚本结束。

# RANDOM 为系统自带的统变量 ,值为 0-32767的随机数

# 使用取余算法将随机数变为 1-100 的随机数

num=$[RANDOM%100+1]

echo "$num"

 

# 使用 read 提示用户猜数

# 使用 if 判断用户猜数字的大小关系:-eq(等于),-ne(不等于),-gt(大于),-ge(大于等于), # -lt(小于),-le(小于等于)

while :

do

read -p "计算机生成了一个 1-100 的随机数 ,你猜: " cai

if [ $cai -eq $num ]

then

echo "恭喜 ,猜对了"

exit

elif [ $cai -gt $num ]

then

echo "Oops,猜大了"

else

echo "Oops,猜小了"

fi

done

(2)查看有多少远程的 IP 在连接本机

 

#!/bin/bash

 

#!/bin/bash

# 有多少远程的 IP 在连接本机(不管是通过 ssh 还是 web 还是 ftp 都统计)

 

# 使用 netstat -atn 可以查看本机所有连接的状态 ,-a 查看,

# -t仅显示 tcp 连接的信息 ,-n 数字格式显示

# Local Address(第四列是本机的 IP 和端口信息)

# Foreign Address(第五列是远程主机的 IP 和端口信息)

# 使用 awk 命令仅显示第 5 列数据 ,再显示第 1 IP 地址的信息

# sort 可以按数字大小排序 ,最后使uniq 将多余重复的删除 ,并统计重复的次数

netstat -atn  |  awk  '{print $5}'  | awk  '{print $1}' | sort -nr  |  uniq -c

 


#!/bin/bash

 

function example {

echo "Hello world !"

}

example

(4)打印 tomcat pid

 

#!/bin/sh`

 

v1="Hello"

v2="world"

v3=${v1}${v2}

echo $v3

 

pidlist=`ps -ef|grep apache-tomcat-7.0.75 |grep -v "grep" |awk '{print $2}'` echo $pidlist

echo "tomcat Id list :$pidlist"  //显示pid

(5)脚本编写 剪刀 、   石头、布游戏

#!/bin/bash
game=(石头 剪刀 布)
num=$[RANDOM%3]
computer=${game[$sum]}
echo "请根据下列提示选择您的出拳手势"
echo " 1. 石头"
echo " 2. 剪刀"
echo " 3. 布 "
read -p "请选择 1-3 :" person
case $person in
1)
if [ $num -eq 0 ]
then
echo "平局"
elif [ $num -eq 1 ]
then
echo "你赢"
else
echo "计算机赢"
fi;;
2)
if [ $num -eq 0 ]
then
echo "计算机赢"
elif [ $num -eq 1 ]
then
echo "平局"
else
echo "你赢"
fi;;
3)
if [ $num -eq 0 ]
then
echo "你赢"
elif [ $num -eq 1 ]
then
echo "计算机赢"
else
echo "平局"
fi;;
*)
echo "必须输入1-3 的数字"
esac

(6)九九乘法表

 

#!/bin/bash

 

for i in `seq 9`

do

for j in `seq $i`

do

echo -n "$j*$i=$[i*j] "

done

echo

done

(7)脚本用源码来安装 memcached 服务器

 

#!/bin/bash

# 一键部署 memcached

 

# 脚本用源码来安装 memcached 服务

# 注意:如果软件的下载链接过期了 ,请更新 memcached 的下载链接

wget http://www.memcached.org/files/memcached-1.5.1.tar.gz

yum -y install gcc

tar -xf  memcached-1.5.1.tar.gz

cd memcached-1.5.1

./configure

make

make install

(8)检测本机当前用户是否为超级管理


#!/bin/bash

 

# 测本机当前用户是否为超级管理员 ,如果是管理员 ,则使用 yum 安装 vsftpd,如果不 # ,则提示您非管理员(使用字串对比版本)

if [ $USER == "root" ]

then

yum -y install vsftpd

else

echo "您不是管理员,没有权限安装软件"

fi

(9)  if 运算表达式

 

#!/bin/bash -xv

 

if [ $1 -eq 2 ] ;then

echo "wo ai wenmin"

elif [ $1 -eq 3 ] ;then

echo "wo ai wenxing "

elif [ $1 -eq 4 ] ;then

echo "wo de xin "

elif [ $1 -eq 5 ] ;then

echo "wo de ai "

fi

( 10)脚本 杀掉 tomcat 进程并重新启

 

#!/bin/bash

 

#kill tomcat pid

 

pidlist=`ps -ef|grep apache-tomcat-7.0.75 |grep -v "grep" |awk '{print $2}'`  #找到

tomcatPID

 

echo "tomcat Id list :$pidlist"  //显示pid

 

kill -9 $pidlist  #杀掉改进程

 

echo "KILL $pidlist:" //提示进程以及被杀掉

echo "service stop success"

 

echo "start tomcat"

 

cd /opt/apache-tomcat-7.0.75

pwd

 

rm -rf work/*

 

cd bin

 

./startup.sh #;tail -f ../logs/catalina.out

相关文章
|
3天前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
54 32
|
4月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
150 1
|
3月前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
102 2
6种方法打造出色的Shell脚本
|
3月前
|
XML JSON 监控
Shell脚本要点和难点以及具体应用和优缺点介绍
Shell脚本在系统管理和自动化任务中扮演着重要角色。尽管存在调试困难、可读性差等问题,但其简洁高效、易于学习和强大的功能使其在许多场景中不可或缺。通过掌握Shell脚本的基本语法、常用命令和函数,并了解其优缺点,开发者可以编写出高效的脚本来完成各种任务,提高工作效率。希望本文能为您在Shell脚本编写和应用中提供有价值的参考和指导。
123 1
|
3月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
123 2
|
4月前
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
84 6
|
3月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
4月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
102 12
|
4月前
|
存储 运维 监控
自动化运维:使用Shell脚本简化日常任务
【9月更文挑战第35天】在IT运维的日常工作中,重复性的任务往往消耗大量的时间。本文将介绍如何通过编写简单的Shell脚本来自动化这些日常任务,从而提升效率。我们将一起探索Shell脚本的基础语法,并通过实际案例展示如何应用这些知识来创建有用的自动化工具。无论你是新手还是有一定经验的运维人员,这篇文章都会为你提供新的视角和技巧,让你的工作更加轻松。
133 2
|
5月前
|
Shell
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别