请教一个简单的脚本,谢谢~

sh/bash/dash/ksh/zsh等Shell脚本
回复
nigo
帖子: 104
注册时间: 2010-01-23 23:24
送出感谢: 0
接收感谢: 0

请教一个简单的脚本,谢谢~

#1

帖子 nigo » 2011-01-06 10:46

我想写一个脚本,在ping通另外一台电脑的时候给我提示,比如放首歌曲。
可是我不会脚本,我刚才参考资料自己写了一个,但是不行。我这会儿要用,大家能帮我一下吗?
下面是我写的:
if [ "ping 192.168.3.5 | cut -c1-2" = "64" ];
then mplayer /home/test/最牛犇的新闻联播.flv
exit 0
fi
可是运行没有结果。是不是错了?请指教~~
nigo
帖子: 104
注册时间: 2010-01-23 23:24
送出感谢: 0
接收感谢: 0

Re: 请教一个简单的脚本,谢谢~

#2

帖子 nigo » 2011-01-06 10:52

对了补充一下,我的意思是一直ping那个电脑,什么时候ping通了,就通知。谢谢了,在线等~~
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 请教一个简单的脚本,谢谢~

#3

帖子 eexpress » 2011-01-06 11:04

while [ 1 ]; do ping -c 1 192.168.100.2 && play ~/bin/resources/sound/m1_reload.wav && break; done

ping 可以换成 nmap -sP带grep的那种,可以进一步判断,比如端口等情况。

play可以换成 notify-send -h "string:sound-file:$res_path/sound/$sound" -h "int:x:550" -h "int:y:80" -i "$res_path/icon/$icon" "$t" "$w"
带屏幕提示。
● 鸣学
头像
Kandu
帖子: 108
注册时间: 2008-12-24 12:02
送出感谢: 1 次
接收感谢: 4 次
联系:

Re: 请教一个简单的脚本,谢谢~

#4

帖子 Kandu » 2011-01-06 11:08

代码: 全选

#!/bin/sh

if [ $# -ge 2 ]; then
	ping -c 1 $1
	while [ $? -ne 0 ]
	do
		sleep 5
		ping -c 1 $1
	done
	aplay $2
else
	echo "給出 IP 地址和音頻文件名作為參數"
fi
上次由 Kandu 在 2011-01-06 11:08,总共编辑 1 次。
nigo
帖子: 104
注册时间: 2010-01-23 23:24
送出感谢: 0
接收感谢: 0

Re: 请教一个简单的脚本,谢谢~

#5

帖子 nigo » 2011-01-06 11:08

eexpress 写了:while [ 1 ]; do ping -c 1 192.168.100.2 && play ~/bin/resources/sound/m1_reload.wav && break; done

ping 可以换成 nmap -sP带grep的那种,可以进一步判断,比如端口等情况。

play可以换成 notify-send -h "string:sound-file:$res_path/sound/$sound" -h "int:x:550" -h "int:y:80" -i "$res_path/icon/$icon" "$t" "$w"
带屏幕提示。
我不太懂哦,要ping的IP是 192.168.3.5,能不能写一个让我用下呀?不然我总是要看PING的结果,谢谢了~
nigo
帖子: 104
注册时间: 2010-01-23 23:24
送出感谢: 0
接收感谢: 0

Re: 请教一个简单的脚本,谢谢~

#6

帖子 nigo » 2011-01-06 11:09

Kandu 写了:

代码: 全选

#!/bin/sh

if [ $# -ge 2 ]; then
	ping -c 1 $1
	while [ $? -ne 0 ]
	do
		sleep 5
		ping -c 1 $1
	done
	aplay $2
else
	echo "給出 IP 地址和音頻文件名作為參數"
fi
好,谢谢,我试试
nigo
帖子: 104
注册时间: 2010-01-23 23:24
送出感谢: 0
接收感谢: 0

Re: 请教一个简单的脚本,谢谢~

#7

帖子 nigo » 2011-01-06 11:12

nigo 写了:
Kandu 写了:

代码: 全选

#!/bin/sh

if [ $# -ge 2 ]; then
	ping -c 1 $1
	while [ $? -ne 0 ]
	do
		sleep 5
		ping -c 1 $1
	done
	aplay $2
else
	echo "給出 IP 地址和音頻文件名作為參數"
fi
好,谢谢,我试试
test@my-desktop:~$ sh ./mysrci
給出 IP 地址和音頻文件名作為參數

我真的不知道怎么把IP加进去~~指导下~~
头像
灰色小狼
帖子: 4573
注册时间: 2008-12-06 10:38
系统: Arch
送出感谢: 21 次
接收感谢: 30 次

Re: 请教一个简单的脚本,谢谢~

#8

帖子 灰色小狼 » 2011-01-06 11:15

代码: 全选

#!/bin/bash
ping -c1 www.google.com
while [ $? != 0 ]
do
    sleep 5
    ping -c1 www.google.com
done
echo "aaa"
改下ip和echo那句就好了,新手同求高人指点更简单的方法
nigo
帖子: 104
注册时间: 2010-01-23 23:24
送出感谢: 0
接收感谢: 0

Re: 请教一个简单的脚本,谢谢~

#9

帖子 nigo » 2011-01-06 11:21

使用Kandu的文件变成一个脚本,
执行的时候
sh ./脚本 IP地址 播放的音乐
就可以了
里面的aplay可以换成mplayer
这都是在Kandu的指导下完成的,再次感谢
nigo
帖子: 104
注册时间: 2010-01-23 23:24
送出感谢: 0
接收感谢: 0

Re: 请教一个简单的脚本,谢谢~

#10

帖子 nigo » 2011-01-06 11:27

灰色小狼 写了:

代码: 全选

#!/bin/bash
ping -c1 www.google.com
while [ $? != 0 ]
do
    sleep 5
    ping -c1 www.google.com
done
echo "aaa"
改下ip和echo那句就好了,新手同求高人指点更简单的方法
经过测试,这个也是很好的,我需要声音,所以把最后一行改成了
mplyaer /home/test/xxx.flv

谢谢啦!还有EE也是!
谢谢大家的热心的帮助!
回复

回到 “Shell脚本”