无锡网站排名系统,这是我做的网站吗,wordpress网站文章形式,遵义信息网学习视频来自B站UP主泷羽sec#xff0c;如涉及侵权马上删除文章。 笔记只是方便学习#xff0c;以下内容只涉及学习内容#xff0c;切莫逾越法律红线。 安全见闻#xff0c;包含了各种网络安全#xff0c;网络技术#xff0c;旨在明白自己的渺小#xff0c;知识的广博如涉及侵权马上删除文章。 笔记只是方便学习以下内容只涉及学习内容切莫逾越法律红线。 安全见闻包含了各种网络安全网络技术旨在明白自己的渺小知识的广博要时时刻刻保持平等的心很多分类组合有互相包含也属于正常情况遇到问题就能够举一反三。 前言
俗话说学以致用那今天就来敲几个shell脚本巩固一下shell基础的知识点。大家一定要多动手尝试这样才能融会贯通将死知识内化为自己的东西。 一、计算器
1.脚本要求 2.代码实现
代码不唯一仅供参考 3.代码思路
首先通过read函数读入三个运算参数分别赋值给xfuncy变量
然后通过if判断三个变量是否为空如果其中有为空的变量说明用户的参数输入不正确提示argument error再退出程序
再然后使用两组代码判断x和y变量是否为数字其原理是expr函数之后的变量必须为数字才能计算否则命令运行错误返回非零的返回值此时使用if判断$?是否等于0可判断出变量是否为数值
最后通过case语句对不同的func进行不同的处理其中出发要判断除数是否为零
不难发现我在代码中添加了很多对用户输入数据的验证命令其目的在于提高脚本的健壮性。在编写代码时不能只考虑用户会乖乖的输入正确格式的数据对于错误的输入我们也要考虑到并且还要有相应的命令去处理这种情况不然就会发生输错一个数据卡程序出错退出的情况不仅用户体验不好而且还可能存在安全问题。 二、阶乘
1.脚本要求 2.代码实现
代码不唯一仅供参考 3.代码思路
首先通过read函数读入一个参数赋值给x
然后判断x变量是否为数字
再然后定义变量result并赋值为1其作用是作为阶乘运算的迭代变量
最后使用for循环进行阶乘运算使用seq命令生成1到$x的列表然后使用for循环一次读取该列表中的值在每次循环中都令旧的result变量的值乘该轮的i值再赋值给result变量。循环结束后输出result值。 三、获取eht0网卡的IPv4地址
1.脚本要求 2.代码实现 3.代码思路
这段代码的意思是先执行ifconfig eth0输出eth0网卡的信息并将输出的结果通过管道作为下一个命令grep的输入。然后执行grep筛选模式是一个正则表达式意思是筛选含有inet字符串且某单词结尾就是inet的字符串行然后也是将输出作为下一命令的输入处理。awk默认以空格(‘ ‘)分割输入字符串使用定义的函数{print $2}输出经过分割后的列表的第二个元素的值即网卡IPv4地址。然后将这一串代码通过反引号执行后将得到的结果赋值给ip变量最后通过echo输出结果。 四、计划任务 1.实验要求 我这里实现的是将脚本三的代码加入计划任务并设置随时执行然后把结果输出到~/ip.txt
2.实验实现
首先修改代码添加环境变量PATH和结果重定向因为在crontab的环境中PATH路径的设置是不全面的这导致有的命令放到其环境中运行不了使用要在代码中重新设置一下PATH路径。 然后使用crontab -e添加任务计划 这一行的意思是*分 *时 *日 *月 星期* 执行后面的命令*表示任意
然后启动cron服务 脚本就会随时执行了实际上是一分钟执行一次因为cron一分钟检查一次规则文件 五、无限重启
1.实验要求 2.实验实现
首先编写好重启脚本 然后给脚本赋权 再然后把他放到/etc/init.d目录下(我这里已经放到该目录下了)
再然后进入/etc/rc5.d目录下在该目录下新建一个重启脚本的符号链接rc5.d是图形界面运行级别的开机启动程序目录想详细了解可以去搜搜“linux系统的运行级别”相关的知识。推荐看一下这篇文章linux /etc/rc.d/目录的详解 - Dus - 博客园讲的超详细 最后重启系统开始无限重启 总结
以上就是今天要讲的全部内容这次主要是shell实操的分享自己动手写了几个shell脚本。动手操作是很重要的因为计算机是一门很注重实操的课程只有动起来进步的才会快。希望大家能动起手来共同进步。喜欢的话可以给个一键三连吗这对我很重要ヾ(≧▽≦*)o