sh/bash/dash/ksh/zsh等Shell脚本
-
bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
-
联系:
#16
帖子
由 bones7456 » 2008-09-28 12:58
xiooli, 我在刚想做个语音天气预报的脚本的时候,旧本本偷了,所以没做,现在交给你来完成吧,哈哈。
文本部分在这里:
代码: 全选
#!/bin/bash
#Copyright (c) 2007 bones7456 (bones7456@gmail.com)
#License: GPLv3
#version 20080524
#城市代码,留空可自动检测(自动检测不一定精确),城市代码可在 http://weather.265.com 上查询,是个5位的数字
#city=58457
if [ -n "$city" ] ;then
wid=${city}
else
wget -q -O /tmp/weather.html 'http://www.265.com/lookupcity';
wid=`awk -F "'" '{print $2}' /tmp/weather.html`;
fi
#echo ${wid};
wget -q -O /tmp/weather.html "http://www.265.com/weather/${wid}.htm";
str=`iconv -f gbk -t utf8 /tmp/weather.html | grep 'show_weather' | sed -e 's/show_weather("//g'|sed -e 's/),\ "hd\.htm.*//g' | sed -e 's/new Array(//g' | sed -e "s/[\"|\ ]//g" | sed -e "s/,'/ /g" |sed -e "s/'//g"`;
#echo ${str};
AnArray=( ${str} );
time=`date +%k`;
if [ ${time} -gt 18 ] ; then
echo ${AnArray[0]}: ${AnArray[1]} 今晚:${AnArray[4]};明天:${AnArray[6]}
elif [ ${time} -gt 12 ] ; then
echo ${AnArray[0]}: ${AnArray[1]} 下午:${AnArray[3]};晚上:${AnArray[4]}
else
echo ${AnArray[0]}: ${AnArray[1]} 上午:${AnArray[2]};下午:${AnArray[3]}
fi
rm -f /tmp/weather.html;
exit 0;
-
xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
-
联系:
#17
帖子
由 xiooli » 2008-09-28 13:24
bones7456 写了:xiooli, 我在刚想做个语音天气预报的脚本的时候,旧本本偷了,所以没做,现在交给你来完成吧,哈哈。
文本部分在这里:
代码: 全选
#!/bin/bash
#Copyright (c) 2007 bones7456 (bones7456@gmail.com)
#License: GPLv3
#version 20080524
#城市代码,留空可自动检测(自动检测不一定精确),城市代码可在 http://weather.265.com 上查询,是个5位的数字
#city=58457
if [ -n "$city" ] ;then
wid=${city}
else
wget -q -O /tmp/weather.html 'http://www.265.com/lookupcity';
wid=`awk -F "'" '{print $2}' /tmp/weather.html`;
fi
#echo ${wid};
wget -q -O /tmp/weather.html "http://www.265.com/weather/${wid}.htm";
str=`iconv -f gbk -t utf8 /tmp/weather.html | grep 'show_weather' | sed -e 's/show_weather("//g'|sed -e 's/),\ "hd\.htm.*//g' | sed -e 's/new Array(//g' | sed -e "s/[\"|\ ]//g" | sed -e "s/,'/ /g" |sed -e "s/'//g"`;
#echo ${str};
AnArray=( ${str} );
time=`date +%k`;
if [ ${time} -gt 18 ] ; then
echo ${AnArray[0]}: ${AnArray[1]} 今晚:${AnArray[4]};明天:${AnArray[6]}
elif [ ${time} -gt 12 ] ; then
echo ${AnArray[0]}: ${AnArray[1]} 下午:${AnArray[3]};晚上:${AnArray[4]}
else
echo ${AnArray[0]}: ${AnArray[1]} 上午:${AnArray[2]};下午:${AnArray[3]}
fi
rm -f /tmp/weather.html;
exit 0;

体力活交给我干么?至少你得给我大概会出来那些词语和句子吧。
-
xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
-
联系:
#19
帖子
由 xiooli » 2008-09-28 23:00
INUYASHA 写了:能不能不报 xx秒亚?
cmd里面的,不想要的自己想办法删掉吧。
-
INUYASHA
- 帖子: 366
- 注册时间: 2007-03-16 15:42
#20
帖子
由 INUYASHA » 2008-09-28 23:02
date|cut -d' ' -f5|cut -b1-6
-
qqttdh
- 帖子: 896
- 注册时间: 2007-07-20 22:15
#21
帖子
由 qqttdh » 2008-09-29 8:27
bones7456 写了:xiooli, 我在刚想做个语音天气预报的脚本的时候,旧本本偷了,所以没做,现在交给你来完成吧,哈哈。
文本部分在这里:
代码: 全选
#!/bin/bash
#Copyright (c) 2007 bones7456 (bones7456@gmail.com)
#License: GPLv3
#version 20080524
#城市代码,留空可自动检测(自动检测不一定精确),城市代码可在 http://weather.265.com 上查询,是个5位的数字
#city=58457
if [ -n "$city" ] ;then
wid=${city}
else
wget -q -O /tmp/weather.html 'http://www.265.com/lookupcity';
wid=`awk -F "'" '{print $2}' /tmp/weather.html`;
fi
#echo ${wid};
wget -q -O /tmp/weather.html "http://www.265.com/weather/${wid}.htm";
str=`iconv -f gbk -t utf8 /tmp/weather.html | grep 'show_weather' | sed -e 's/show_weather("//g'|sed -e 's/),\ "hd\.htm.*//g' | sed -e 's/new Array(//g' | sed -e "s/[\"|\ ]//g" | sed -e "s/,'/ /g" |sed -e "s/'//g"`;
#echo ${str};
AnArray=( ${str} );
time=`date +%k`;
if [ ${time} -gt 18 ] ; then
echo ${AnArray[0]}: ${AnArray[1]} 今晚:${AnArray[4]};明天:${AnArray[6]}
elif [ ${time} -gt 12 ] ; then
echo ${AnArray[0]}: ${AnArray[1]} 下午:${AnArray[3]};晚上:${AnArray[4]}
else
echo ${AnArray[0]}: ${AnArray[1]} 上午:${AnArray[2]};下午:${AnArray[3]}
fi
rm -f /tmp/weather.html;
exit 0;
一点小建议
echo ${AnArray[0]}: ${AnArray[1]} 今晚:${AnArray[4]};明天:${AnArray[6]}
zenity --info --text="${AnArray[0]}: ${AnArray[1]} \n今晚:${AnArray[4]};\n明天:${AnArray[6]}"
-
想入非非
- 帖子: 8078
- 注册时间: 2008-07-14 22:42
- 来自: Beijing
-
联系:
#22
帖子
由 想入非非 » 2008-09-29 20:58
支持一下。。。虽说我不识货

Ubuntu User
-
bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
-
联系:
#24
帖子
由 bones7456 » 2008-09-29 21:58
xiooli 写了:

体力活交给我干么?至少你得给我大概会出来那些词语和句子吧。
嘿嘿,不就是晴、雨、风、雪什么的嘛,详细的我也不知道呢。。。

-
xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
-
联系:
#25
帖子
由 xiooli » 2008-09-29 22:59
bones7456 写了:xiooli 写了:

体力活交给我干么?至少你得给我大概会出来那些词语和句子吧。
嘿嘿,不就是晴、雨、风、雪什么的嘛,详细的我也不知道呢。。。

那些倒好弄,就是城市名称怎么办?
-
fvwmnet
- 帖子: 31
- 注册时间: 2008-09-30 7:28
#26
帖子
由 fvwmnet » 2008-09-30 7:31
cmd="date +%k\ 点\ %M\ 分\ 星期\ %u"

-
bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
-
联系:
#27
帖子
由 bones7456 » 2008-09-30 9:07
xiooli 写了:bones7456 写了:xiooli 写了:

体力活交给我干么?至少你得给我大概会出来那些词语和句子吧。
嘿嘿,不就是晴、雨、风、雪什么的嘛,详细的我也不知道呢。。。

那些倒好弄,就是城市名称怎么办?
哦,你说城市名啊,我觉得这个倒是可以先不报,运行程序的人,总不会不知道自己在哪个城市吧。。。

-
xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
-
联系:
#28
帖子
由 xiooli » 2008-09-30 9:16
fvwmnet 写了:cmd="date +%k\ 点\ %M\ 分\ 星期\ %u"

呵呵,俺老是搞不懂date的格式,只好用笨办法了,让高人见笑了

-
roylez
- 帖子: 1928
- 注册时间: 2005-10-04 10:59
- 来自: 上海
#29
帖子
由 roylez » 2008-09-30 11:20
已经有一个cron里面的准点钟声了:
代码: 全选
X=1
while [ $X -le `date +%I` ]
do
aplay -q ~/.fluxbox/bell.wav
sleep 0.5
X=$((X+1))
done
-
yaoms
- 帖子: 4952
- 注册时间: 2007-10-19 14:51
- 来自: 深圳
#30
帖子
由 yaoms » 2008-09-30 11:28
哪个是最终版?

Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'