写的第一个linux脚本--检测检测路由器上存在哪些用户
来源:互联网 发布:淘宝金酷娃玩具和谐号 编辑:程序博客网 时间:2024/06/05 11:22
先谈谈这个脚本吧。原理跟代码都很简单,是用来检测无线网上都存在那些用户。更详细的结果等深入挖掘各种协议后在补充,现在只用最简单的ping。
初次写脚本,第一行没写,脚本没有工作,我还奇怪了好久。后来明白,第一行是用来指定执行脚本的shell。首先别忘了用chmod将其设置成可执行文件,否则再怎么努力都是白费,脚本的执行方式有很多种:
1.直接输入文件名执行,与用 sh+文件名结果相同。
2.source+文件名。
方法一是在父进程的子进程下执行,当执行完毕之后,使用的变量都会注销,可以用echo测试,都是空的。而方法二直接在父进程中执行,结束后脚本中只用的变量一样存在,同样可以使用echo测试。
原理很简单,先获取本机的IP地址,利用同一路由器上分配的IP都在同一个网段来逐个检测。
写完脚本我的感受是Linux脚本的很关键的一点在于字符串的处理,要充分使用正则表达式及相关的像grep,cut,awk之类的命令。
脚本如下:
#!/bin/bash
IP=$(ifconfig wlan0|grep "inet addr"|cut -d ":" -f 2|cut -d " " -f 1) #获取IP
IP_Before=$(echo ${IP}|cut -d "." -f 1,2,3) #获取IP所在网段
IP_Before=${IP_Before}"."
for site in $(seq 1 255) #逐个IP检查
do
result=0
ping -c 1 ${IP_Before}${site} &>/dev/null || result=1
if [ "$result" == 0 ] ; then
echo "server"${IP_Before}${site}" is up."
fi
done
初次接触Linux,摸不着头脑,也许还沉浸在windows的图形界面中,需要的是时间来适应这一切。
作为一名本科生,科研本是身外之物,没有人强迫你,只是一厢情愿。为了强迫自己,在电脑上装了Ubuntu,从此踏上了Linux的不归路。
走在路上,尖锐的石子刺痛了双脚,鲜血淋漓,却从未止步,因为我有着一个念头,我要征服Linux,我要超越我的学长学界们,我要证明自己能办到。
一个月的艰辛学习带来了收获,虽算不上丰收,但也值得纪念。写Linux代码最让人头疼的就是那许许多多的命令,夹杂着对字符串的处理,尤其痛苦。我可以体会正则表达式的强大,更明白要征服它要付出的代价,用好它真是一件难事。寂静的夜晚完成了我的第一个真正的脚本,心情舒坦了些许,不知会不会又是一个难眠之夜?夜晚是思考的时候,别人安静下来,自己静坐在椅上,思考这白天发生的一切,自己哪里做错了,我希望的生活是个什么样子的?是平庸的还是轰轰烈烈的一生。我不喜欢平庸,结果不说自明。夜晚,时常会沉浸在自己的幻想当中,有时也会抱怨自己,我也会时时提醒自己,幻想不是坏事,就怕没有一步步去实现它,幻想不要那么的遥不可及。幻想总是美好的,想想它会个人带来暂时的快乐,但现实确是残酷的,一步步努力吧,就不说什么了。
睡了。。
- 写的第一个linux脚本--检测检测路由器上存在哪些用户
- 写个检测系统脚本
- 脚本练习_输入用户名 检测用户是否存在 存在则检测家目录是否存在
- air了解和检测用户的存在
- jquery与php交互的ajax应用第一课:检测用户注册时用户名是否存在
- jquery与php交互的ajax应用第一课:检测用户注册时用户名是否存在
- jquery与php交互的ajax应用第一课:检测用户注册时用户名是否存在
- ajax检测用户是否存在
- linux shell脚本 检测动态日期目录存在与否
- linux 检测进程是否存在,并统计进程数的有用的方法和脚本
- 写了个小shell脚本检测MySQL
- linux网络检测脚本
- linux检测文件夹是否存在
- 关于在Android上检测是否存在网络的问题
- 文件是否存在检测的数个解决方法。
- 自己写的第一个shell脚本
- 用户注册(检测用户名是否存在)
- Ajax检测注册用户是否存在(.NET)
- 全面理解Unity加载和内存管理之一
- WHU 2013 Summer Team Contest #16 - 2008 beijing[xioumu]
- Unity3D占用内存太大怎么解决呢?
- linux ipc
- 由浅入深探究mysql索引结构原理、性能分析与优化
- 写的第一个linux脚本--检测检测路由器上存在哪些用户
- 在Unity3D中使用單個SendMessage送出多重參數
- 在oncreate中获取控件尺寸
- linux下创建和删除软、硬链接
- MySQL学习笔记1
- Qt5之中文乱码问题
- API相关工作的个人总结_工作中琐碎细节的总结二
- 各种开发语言的console output
- MySQL学习笔记2