一篇教会你写90%的shell脚本_flash动画脚本怎么写

一篇教会你写90%的shell脚本_flash动画脚本怎么写如果将运维比作手链,将珍珠比作服务,那么将珍珠串起来的线就是Shell,作为实现Linux系统自动管理以及自动化运维所必备的Shell脚本,其重要性便不言而喻。每一位合格的Linux系统管理员或运维工程师,都应该将熟练编写Shell脚本视为基本技能之一,只有这样才能减少不必要的劳动。但是新人在编写脚本时却只会:#!/bin/bash,所以今天就给大家分享100个经典实用的脚本范例,手把手教你写Shell脚本。这100个脚本范例从基础到进阶均涵盖,有侧重地提高编写能力,结构清晰准确,PDF格式,可

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

如果将运维比作手链,将珍珠比作服务,那么将珍珠串起来的线就是Shell,作为实现Linux系统自动管理以及自动化运维所必备的Shell脚本,其重要性便不言而喻。

一篇教会你写90%的shell脚本_flash动画脚本怎么写

每一位合格的Linux系统管理员或运维工程师,都应该将熟练编写Shell脚本视为基本技能之一,只有这样才能减少不必要的劳动。但是新人在编写脚本时却只会:#!/bin/bash,所以今天就给大家分享100个经典实用的脚本范例,手把手教你写Shell脚本。

这100个脚本范例从基础到进阶均涵盖,有侧重地提高编写能力,结构清晰准确,PDF格式,可自由复制,对照练习,很适合不会写Shell脚本的朋友提升实际编写能力,强烈建议收藏学习。

试试戳戳这里

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

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

一篇教会你写90%的shell脚本_flash动画脚本怎么写

依次提示用户输入 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"

一篇教会你写90%的shell脚本_flash动画脚本怎么写

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

一篇教会你写90%的shell脚本_flash动画脚本怎么写

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

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

一篇教会你写90%的shell脚本_flash动画脚本怎么写

编写一个点名器脚本

#!/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

一篇教会你写90%的shell脚本_flash动画脚本怎么写

统计/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"

一篇教会你写90%的shell脚本_flash动画脚本怎么写

检查特定的软件包是否已经安装

#!/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

一篇教会你写90%的shell脚本_flash动画脚本怎么写

测试用户名与密码是否正确

#!/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

一篇教会你写90%的shell脚本_flash动画脚本怎么写

熟练地编写Shell脚本是运维人员的基本功,切不可敷衍了事,这100个经典有趣的Shell脚本范例,赶快mark起来!

试试戳戳这里

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186393.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ms17010漏洞复现-2003

    ms17010漏洞复现-2003先使用Smbtouch模块检测一下是否有漏洞。然后使用Doublepulsar写一个shellcode到本地。生成成功后的截图:再使用EternalRomance植入Doublepulsar后门。成功的截图: PS:仿佛是由于之前已经上传过bin的缘故,第二次测试的时候失败了。但是不影响后续操作。都成功了以后该我们的Doublepulsar来反弹shell了。…

  • msiexec用法详解

    msiexec用法详解在系统管理中,尤其是静默安装和卸载软件的时候,该命令就会经常用到,详细用户如下:(本文拷贝自微软网站)msiexec/Option<RequiredParameter>[OptionalParameter]安装选项 </package|/i><Product.msi> 安装或配置产品 /a<Product.msi&…

    2022年10月25日
  • lnmp一键安装的卸载

    lnmp一键安装的卸载

    2021年10月13日
  • offset宏定义_vba left函数

    offset宏定义_vba left函数最近做某项目撸代码时用到了offsetof宏,第一次使用这个宏,项目结束后对其用法也略知一二,现分享如下。位于stddef.h中的offsetof()宏,是获得struct中某成员相对于struct首地址的偏移量,以byte为单位,用struct首地址加该偏移量获得该成员的实际地址时,要把struct首地址强制转换成以byte为计数单位,地址本身一般都是32位(与芯片架构有关),强制转换的计数单位…

  • 使用HttpClient4实现文件上传请求的发送,服务器端以MultipartFile形式接收(附依赖jar包地址)

    使用HttpClient4实现文件上传请求的发送,服务器端以MultipartFile形式接收(附依赖jar包地址)今天学习使用了HttpClient4.2向服务端发送上传文件的请求,由于服务器端以MultipartFile形式接收,查询资料后决定使用HttpClient4.2实现,以下是实现代码(仅作测试使用):publicvoidtesttaskPost()throwsException{HttpClienthttpclient=newDefaultHttpClien

  • 特立独行的理解_特立独行的感觉

    特立独行的理解_特立独行的感觉原题链接对一个十进制数的各位数字做一次平方和,称作一次迭代。如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数。1 是一个幸福数。此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68,3 次迭代后得到 100,最后得到 1。则 19 就是幸福数。显然,在一个幸福数迭代到 1 的过程中经过的数字都是幸福数,它们的幸福是依附于初始数字的。例如 82、68、100 的幸福是依附于 19 的。而一个特立独行的幸福数,是在一个有限的区间内不依附于任何其它数字的;其独立性就是依附于它的的幸福数

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号