大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
如果将运维比作手链,将珍珠比作服务,那么将珍珠串起来的线就是Shell,作为实现Linux系统自动管理以及自动化运维所必备的Shell脚本,其重要性便不言而喻。
每一位合格的Linux系统管理员或运维工程师,都应该将熟练编写Shell脚本视为基本技能之一,只有这样才能减少不必要的劳动。但是新人在编写脚本时却只会:#!/bin/bash,所以今天就给大家分享100个经典实用的脚本范例,手把手教你写Shell脚本。
这100个脚本范例从基础到进阶均涵盖,有侧重地提高编写能力,结构清晰准确,PDF格式,可自由复制,对照练习,很适合不会写Shell脚本的朋友提升实际编写能力,强烈建议收藏学习。
试试戳戳这里
通过位置变量创建 Linux 系统账户及密码
#!/bin/bash
#$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数
useradd "$1"
echo "$2" | passwd ‐‐stdin "$2"
依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字
#!/bin/bash
read ‐p "请输入一个整数:" num1
read ‐p "请输入一个整数:" num2
read ‐p "请输入一个整数:" num3
#不管谁大谁小,最后都打印 echo "$num1,$num2,$num3"
#num1 中永远存最小的值,num2 中永远存中间值,num3 永远存最大值
#如果输入的不是这样的顺序,则改变数的存储顺序,如:可以将 num1 和 num2 的值对调
tmp=0
#如果 num1 大于 num2,就把 num1 和和 num2 的值对调,确保 num1 变量中存的是最小值
if [ $num1 ‐gt $num2 ];then
tmp=$num1
num1=$num2
num2=$tmp
fi
#如果 num1 大于 num3,就把 num1 和 num3 对调,确保 num1 变量中存的是最小值
if [ $num1 ‐gt $num3 ];then
tmp=$num1
num1=$num3
num3=$tmp
fi
#如果 num2 大于 num3,就把 num2 和 num3 对标,确保 num2 变量中存的是小一点的值
if [ $num2 ‐gt $num3 ];then
tmp=$num2
num2=$num3
num3=$tmp
fi
echo "排序后数据为:$num1,$num2,$num3"
9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表)
#!/bin/bash
for i in `seq 9`
do
for j in `seq $i`
do
echo ‐n "$i*$j=$[i*j] "
done
echo
done
编写批量修改扩展名脚本,如批量将 txt 文件修改为 doc 文件
#!/bin/bash
#执行脚本时,需要给脚本添加位置参数
#脚本名 txt doc(可以将 txt 的扩展名修改为 doc) #脚本名 doc jpg(可以将 doc 的扩展名修改为 jpg)
for i in "ls *.$1"
do
mv $i ${i%.*}.$2
done
编写一个点名器脚本
#!/bin/bash
#该脚本,需要提前准备一个 user.txt 文件
#该文件中需要包含所有姓名的信息,一行一个姓名,脚本每次随机显示一个姓名
while :
do
#统计 user 文件中有多少用户
line=`cat user.txt |wc ‐l`
num=$[RANDOM%line+1]
sed ‐n "${num}p" user.txt
sleep 0.2
clear
done
统计/var/log 有多少个文件,并显示这些文件名
#!/bin/bash
#使用 ls 递归显示所有,再判断是否为文件,如果是文件则计数器加 1
cd /var/log
sum=0
for i in `ls ‐r *`
do
if [ ‐f $i ];then
let sum++
echo "文件名:$i"
fi
done
echo "总文件数量为:$sum"
检查特定的软件包是否已经安装
#!/bin/bash
if [ $# ‐eq 0 ];then
echo "你需要制定一个软件包名称作为脚本参数"
echo "用法:$0 软件包名称 ..."
fi
#$@提取所有的位置变量的值,相当于$*
for package in "$@"
do
if rpm ‐q ${package} &>/dev/null ;then
echo ‐e "${package}\033[32m 已经安装\033[0m"
else
echo ‐e "${package}\033[34;1m 未安装\033[0m"
fi
done
测试用户名与密码是否正确
#!/bin/bash
#用户名为 tom 并且密码为 123456,则提示登录成功,否则提示登录失败
read ‐p "请输入用户名:" user
read ‐p "请输入密码:" pass
if [ "$user" == 'tom' ‐a "$pass" == '123456' ];then
echo "Login successful"
else
echo "Login Failed"
fi
熟练地编写Shell脚本是运维人员的基本功,切不可敷衍了事,这100个经典有趣的Shell脚本范例,赶快mark起来!
试试戳戳这里
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186393.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...