首页 » 网站推广 » php点名器代码技巧_闭关编写的shell脚本100例进修提升面试必备精品

php点名器代码技巧_闭关编写的shell脚本100例进修提升面试必备精品

访客 2024-11-11 0

扫一扫用手机浏览

文章目录 [+]

1. 编写 helloworld 脚本

#!/bin/bashecho "hello world"

2.通过位置变量创建 Linux 系统账户及密码

php点名器代码技巧_闭关编写的shell脚本100例进修提升面试必备精品

#!/bin/bash#$1 是实行脚本的第一个参数,$2 是实行脚本的第二个参数useradd "$!"echo "$2" | passwd ‐‐stdin "$2"

3. 每周 5 利用 tar 命令备份/var/log 下的所有日志文件

php点名器代码技巧_闭关编写的shell脚本100例进修提升面试必备精品
(图片来自网络侵删)

#vim /root/logbak.sh#编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖#把稳 date 命令须要利用反引号括起来,反引号在键盘<tab>键上面tar -czf log-`date +%Y%m%d`.tar.gz /var/log# crontab ‐e #编写操持任务,实行备份脚本00 03 5 /root/logbak.sh

4.一键支配 LNMP(RPM 包版本)

#!/bin/bash#利用 yum 安装支配 LNMP,须要提前配置好 yum 源,否则该脚本会失落败#本脚本利用于 centos7.2 或 RHEL7.2yum ‐y install httpdyum ‐y install mariadb mariadb‐devel mariadb‐serveryum ‐y install php php‐mysqlsystemctl start httpd mariadbsystemctl enable httpd mariadb

5.实时监控本机内存和硬盘剩余空间,剩余内存小于 500M、根分区剩余空间小于 1000M 时,发送报警邮件给 root 管理员

#!/bin/bash#提取根分区剩余空间disk_size=$(df / |awk '/\//{print $4}')#提取内存剩余空间mem_size=$(free |awk '/Mem/{print $4}')while :do#把稳内存和磁盘提取的空间大小都因此 Kb 为单位if [ $disk_size ‐le 512000 ‐a $mem_size ‐le 1024000 ];then mail ‐s Warning root <<EOFInsufficient resources,资源不敷EOFfidone

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


#!/bin/bash#RANDOM 为系统自带的系统变量,值为 0‐32767 的随机数#利用取余算法将随机数变为 1‐100 的随机数num=$[RANDOM%100+1]#利用 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,猜小了" fidone

10.依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字

#!/bin/bashread ‐p "请输入一个整数:" num1read ‐p "请输入一个整数:" num2read ‐p "请输入一个整数:" num3#不管谁大谁小,末了都打印 echo "$num1,$num2,$num3"#num1 中永久存最小的值,num2 中永久存中间值,num3 永久存最大值#如果输入的不是这样的顺序,则改变数的存储顺序,如:可以将 num1 和 num2 的值对调tmp=0#如果 num1 大于 num2,就把 num1 和和 num2 的值对调,确保 num1 变量中存的是最小值if [ $num1 ‐gt $num2 ];then tmp=$num1num1=$num2num2=$tmpfi#如果 num1 大于 num3,就把 num1 和 num3 对调,确保 num1 变量中存的是最小值if [ $num1 ‐gt $num3 ];then tmp=$num1num1=$num3num3=$tmpfi#如果 num2 大于 num3,就把 num2 和 num3 对标,确保 num2 变量中存的是小一点的值if [ $num2 ‐gt $num3 ];then tmp=$num2num2=$num3num3=$tmpfiecho "排序后数据为:$num1,$num2,$num3"

11.编写脚本,实现人机<石头,剪刀,布>游戏

#!/bin/bashgame=(石头 剪刀 布)num=$[RANDOM%3]computer=${game[$num]}#通过随机数获取打算机的出拳#出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是 3 中不同的可能echo "请根据下列提示选择您的出拳手势"echo "1.石头"echo "2.剪刀"echo "3.布"read ‐p "请选择 1‐3:" personcase $person in1)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

13.编写脚本测试 192.168.4.0/24 全体网段中哪些主机处于开机状态,哪些主机处于关机 状态(while 版本)

#!/bin/bashi=1while [ $i ‐le 254 ]do ping ‐c2 ‐i0.3 ‐W1 192.168.4.$i &>/dev/null if [ $? –eq 0 ];then echo "192.168.4.$i is up" else echo "192.168.4.$i is down" fi let i++done

15.编写脚本,显示进度条

#!/bin/bashjindu(){while :do echo ‐n '#' sleep 0.2done}jindu &cp ‐a $1 $2killall $!echo "拷贝完成''

20.编写批量修正扩展名脚本,如批量将 txt 文件修正为 doc 文件

#!/bin/bash#实行脚本时,须要给脚本添加位置参数#脚本名 txt doc(可以将 txt 的扩展名修正为 doc)#脚本名 doc jpg(可以将 doc 的扩展名修正为 jpg)for i in "ls .$1"do mv $i ${i%.}.$2done

24.编写一个点名器脚本

#!/bin/bash#该脚本,须要提前准备一个 user.txt 文件#该文件中须要包含所有姓名的信息,一行一个姓名,脚本每次随机显示一个姓名while :do#统计 user 文件中有多少用户line=`cat user.txt |wc ‐l`num=$[RANDOM%line+1]sed ‐n "${num}p" user.txtsleep 0.2cleardone

26.对 100 以内的所有正整数相加求和(1+2+3+4…+100)

#!/bin/bash#seq 100 可以快速自动天生 100 个整数sum=0for i in `seq 100`do sum=$[sum+i]doneecho "总和是:$sum"

27.统计 13:30 到 14:30 所有访问 apache 做事器的要求有多少个

#!/bin/bash#awk 利用‐F 选项指定文件内容的分隔符是/或者:#条件判断$7:$8 大于即是 13:30,并且哀求,$7:$8 小于即是 14:30#末了利用 wc ‐l 统计这样的数据有多少行,即多少个awk ‐F "[ /:]" '$7":"$8>="13:30" && $7":"$8<="14:30"' /var/log/httpd/access_log |wc ‐l

36.自动对磁盘分区、格式化、挂载

#!/bin/bash#对虚拟机的 vdb 磁盘进行分区格式化,利用<<将须要的分区指令导入给程序 fdisk#n(新建分区),p(创建主分区),1(分区编号为 1),两个空缺行(两个回车,相称于将全体磁盘分一个区)#把稳:1 后面的两个回车(空缺行)是必须的!
fdisk /dev/vdb << EOFnp1wqEOF#格式化刚刚创建好的分区mkfs.xfs /dev/vdb1#创建挂载点目录if [ ‐e /data ]; thenexit fimkdir /data#自动挂载刚刚创建的分区,并设置开机自动挂载该分区echo '/dev/vdb1 /data xfs defaults 1 2' >> /etc/fstabmount ‐a

50.删除某个目录下大小为 0 的文件

#!/bin/bash#/var/www/html 为测试目录,脚本会清空该目录下所有 0 字节的文件dir="/var/www/html"find $dir ‐type f ‐size 0 ‐exec rm ‐rf {} \;

69.设置 Python 支持自动命令补齐功能

#!/bin/bash#Summary:Enable tab complete for python#Description:# Needs import readline and rlcompleter module# import readline# import rlcompleter# help(rlcompleter) display detail: readline.parse_and_bind('tab: complete')# man python display detail: PYTHONSTARTUP variableif [ ! ‐f /usr/bin/tab.py ];then cat >> /usr/bin/tab.py <<EOF import readlineimport rlcompleterreadline.parse_and_bind('tab: complete')EOFfised ‐i '$a export PYTHONSTARTUP=/usr/bin/tab.py' /etc/profilesource /etc/profile

86.破解虚拟机密码,无密码上岸虚拟机系统

#该脚本利用 guestmount 工具,Centos7.2 中安装 libguestfs‐tools‐c 可以得到 guestmount 工具#!/bin/bash#!/bin/bashread ‐p "请输入虚拟机名称:" nameif virsh domstate $name |grep ‐q running ;thenecho "破解,须要关闭虚拟机"virsh destroy $namefimountpoint="/media/virtimage"[ ! ‐d $mountpoint ]&& mkdir $mountpointecho "请稍后..."if mount | grep ‐q "$mountpoint" ;thenumount $mountpointfiguestmount ‐d $name ‐i $mountpoint#将 passwd 中密码占位符号 x 删除,该账户即可实现无密码上岸系统sed ‐i "/^root/s/x//" $mountpoint/etc/passwd

98.统计双色球各个数字的中奖概率

#!/bin/bash#往期双色球中奖号码如下:#01 04 11 28 31 32 16#04 07 08 18 23 24 02#02 05 06 16 28 29 04#04 19 22 27 30 33 01#05 10 18 19 30 31 03#02 06 11 12 19 29 06#统计篮球和红球数据涌现的概率次数(篮球不分顺序,统计所有篮球稠浊在一起的概率)awk '{print $1"\n"$2"\n"$3"\n"$4"\n"$5"\n"$6}' 1.txt |sort |uniq ‐c | sortawk '{print $7}' 1.txt |sort |uniq ‐c | sort

100.利用 awk 编写的 wc 程序

#!/bin/bash#自定义变量 chars 变量存储字符个数,自定义变量 words 变量存储单词个数#awk 内置变量 NR 存储行数#length()为 awk 内置函数,用来统计每行的字符数量,由于每行都会有一个隐蔽的$,以是每次统计后都+1#wc 程序会把文件结尾符$也统计在内,可以利用 cat ‐A 文件名,查看该隐蔽字符awk '{chars+=length($0)+1;words+=NF} END{print NR,words,chars}' $1

【完全资料领取见下图】

标签:

相关文章

语言栏,现代科技与人类语言的完美融合

随着科技的飞速发展,人类的生活越来越便捷。其中,电脑语言栏作为现代科技与人类语言的完美融合,为我们带来了极大的便利。本文将从语言栏...

网站推广 2024-12-29 阅读0 评论0

语言框架,沟通的艺术与方法

在人际交往中,沟通是不可或缺的一环。而语言框架作为一种沟通的艺术与技巧,对于提高沟通效果、促进人际关系具有重要作用。本文将从语言框...

网站推广 2024-12-29 阅读0 评论0

语言暴力,心灵毒瘤的蔓延与反思

语言是人与人沟通的桥梁,在现实生活中,却有一部分人将语言当作伤害他人的利器,用恶毒的语言对他人进行欺负。这种现象,我们称之为“语言...

网站推广 2024-12-29 阅读0 评论0

语言教程软件,助力英语学习的新时代利器

随着科技的飞速发展,人工智能逐渐成为教育领域的有力助手。在英语学习方面,语言教程软件应运而生,为广大学子提供了便捷、高效的学习途径...

网站推广 2024-12-29 阅读0 评论0