利用for循环完成你的第一个脚本
循环 利用 for 脚本 完成 第一个
2023-09-27 14:27:54 时间
脚本涉及内容:
ping -c# IP :向目标IP发送#个包,测试是否可达。
命令状态结果:
成功:0 失败:1-255
说明:当你执行完成一条命令时,使用echo $?即可测试命令是否成执行,如果返回0则表示你的命令执行成功了,如果返回值为1-255的数值,则表示你的命令执行失败。
示例
[root@smokeping etc]# ls -d /etc [root@smokeping etc]# echo $? [root@smokeping etc]# echo $? 127
bash的测试类型:
数值测试:
-gt:是否大于; -ge:是否大于等于; -eq:是否等于; -ne:是否不等于; -lt:是否小于; -le:是否小于等于;
这里我们需要用到-eq来测试echo $?的值是否等于0,来检验我们的命令是否成完成了。
输出重定向:COMMAND NEW_POS, COMMAND NEW_POS
:覆盖重定向,目标文件中的原有内容会被清除; : 追加重定向,新内容会追加至目标文件尾部; 说明:脚本中我们需要将存在IP输出到一个文本,将不存在的IP输出到另一个文本。
脚本测试:
[root@smokeping tmp]# bash -x ping.sh 说明:测试脚本执行,可详细的显示出脚本错误在哪一步,谁用谁知道。
以上内容结合if与for即可。 好了,上脚本。
#!/bin/bash for i in 172.20.16.{1..255} ping -c2 $i /dev/null if [ $? -eq 0 ];then echo $i huo.txt else echo $i si.txt done
在调试脚本过程中遇到了些问题,如if后边空格,以及条件测试中[ $? -eq 0 ]的空格等等,都是些小细节,希望大家多多注意。
相关文章
- C语言-5月20日 利用for循环打印出9*9乘法表、由“*”构成的七行菱形的打印、数字金字塔
- 利用闭包解决for循环里onclick事件不能捕捉实时i值问题
- VUE v-for 循环的 2 个使用
- TensorFlow2-实战-手写数字识别(二):模型版【初始化参数】-->【循环(①根据参数W、B通过模型前向计算,计算出输入X对应的输出Y;②计算Loss;③计算梯度;④利用梯度下降来更新参数)】
- 22差错控制--循环冗余码原理
- vue如何在render函数中循环(3)
- Java码农必须掌握的循环删除List元素的正确方法!
- 高性能JavaScript 循环语句和流程控制
- Python 循环与定义函数
- 【Python基础】列表的基本操作:列表的数据统计、排序、遍历 || 关键字、函数、方法 || 列表的应用场景 || 元组的定义、循环遍历、应用场景 || 格式化字符 || 元组和列表之间的转换
- 【Python】循环结构:for-in循环(亦即for循环)
- 约瑟夫环-(数组、循环链表、数学)
- 新闻无缝循环的实现(jquery)
- 一步一步写算法(之循环和递归)
- verilog中的3种for循环的写法
- Cocos2d-x游戏开发实例详解4:游戏主循环
- 初识C语言(5)if、switch、while循环
- C语言实现数组的循环左移,右移,翻转