sh/bash/dash/ksh/zsh等Shell脚本
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#1
帖子
由 tusooa » 2010-07-09 9:14
貌似ee有一个类似的。
貌似吾的短

。5行有效代码。
大家各自拿回去用吧。
新版,效率高了。
代码: 全选
tlcr: 0 庚寅年六月初六日 13:25:53 ~
>> dog 应用/脚本/wg-天气.perl
#!/usr/bin/env perl
use 5.010;
$city = $ARGV[0] ? $ARGV[0] : "南京";
$_ = `w3m -cookie -dump "http://www.google.com.hk/search?hl=zh-CN&q=tq+$city" 2> /dev/null`;
die "城市名称有误。\n" if ! s/北京市专业气象台.*//s;
s/.*?天气//s;
say "当前: $1 $2\n" if /当前:([^\n]+)\n([^\n]+)/s;
say "今天: $2 $1\n" if /\s+今日\n\s+([^\n]+)\n\s+(\d+ \/ \d+°C)/s;
tlcr: 0 庚寅年六月初六日 13:26:43 ~
>>
(加上Google.com.hk的语言设置,感谢10f指正)
代码: 全选
tlcr: 0 庚寅年五月廿八日 08:25:39 ~
>> dog 应用/脚本/wg-天气.perl
#!/usr/bin/env perl
use 5.010;
$city = $ARGV[0] ? $ARGV[0] : "南京";
$_ = `w3m -cookie -dump "http://www.google.com.hk/search?q=tq+$city" 2> /dev/null`;
# 去掉无用信息
s@.*?天气@@s;
die "城市名称有误。\n" if ! s@北京市专业气象台.*@@s; # 判断是否有天气信息
# 当前
say "当前天气:\n$1\n$2\n$3\n湿度:$4\n" if /(\d+ \/ \d+°C)\n当前:([^\n]+)\n([^\n]+)\n湿度:(\d+%)/s;
say "今天:\n$2\n$1" if /\s+今日\n\s+([^\n]+)\n\s+(\d+ \/ \d+°C)/s;
tlcr: 0 庚寅年五月廿八日 09:05:01 ~
>> wg-天气.perl
当前天气:
31 / 24°C
雷阵雨
东南风3-4级
湿度:87%
今天:
31 / 24°C
雷阵雨
tlcr: 0 庚寅年五月廿八日 09:05:14 ~
>>
上次由
tusooa 在 2010-07-17 13:30,总共编辑 3 次。
-
leeaman
- 帖子: 30702
- 注册时间: 2007-02-02 18:14
- 系统: debian sid
#2
帖子
由 leeaman » 2010-07-09 9:24
很好,比ee的好多啦

醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#3
帖子
由 tusooa » 2010-07-16 11:29
更新了一下。
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#4
帖子
由 eexpress » 2010-07-16 11:44
use 5.010;
真先进了
● 鸣学
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#5
帖子
由 tusooa » 2010-07-16 13:10
-
adagio
- 论坛版主
- 帖子: 22110
- 注册时间: 2008-02-17 23:47
- 来自: 美丽富饶的那啥星球
#6
帖子
由 adagio » 2010-07-16 13:19
代码: 全选
Can't modify constant item in scalar assignment at /home/Scripts/tq line 6, near "`w3m -cookie -dump "http://www.google.com.hk/search?q=tq+$city" 2> /dev/null`;"
Execution of /home/Scripts/tq aborted due to compilation errors.
这个啥意思?
-
ルルティア
- 帖子: 1077
- 注册时间: 2010-05-23 17:10
#8
帖子
由 ルルティア » 2010-07-16 13:32
我按照你的原样运行的。。为什么城市名有错误?
everything is nada; nada is nothing
Otro Loco Más
我是Lavande的马甲,但是有时候,我觉得,我们不是同一个人。
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#9
帖子
由 tusooa » 2010-07-16 23:00
6f:吾的没问题啊。
代码: 全选
tlcr: 0 庚寅年六月初五日 21:49:28 ~
>> wg-天气.perl
当前: 雷阵雨 南风3-4级
今天: 28 / 24°C 雷阵雨
tlcr: 0 庚寅年六月初五日 22:54:46 ~
>>
查尔perl版本:
代码: 全选
tlcr: 0 庚寅年六月初五日 22:54:46 ~
>> perl --version
This is perl, v5.10.1 (*) built for i686-linux-thread-multi
Copyright 1987-2009, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
tlcr: 0 庚寅年六月初五日 22:55:16 ~
>>
若少于5.10,估计会出问题。
8f:说明谷不到,或者网络有问题。
-
ルルティア
- 帖子: 1077
- 注册时间: 2010-05-23 17:10
#10
帖子
由 ルルティア » 2010-07-17 10:49
大三八可能是没装w3m吧?
这个脚本如果要通用可能得改一下
代码: 全选
$_ = `w3m -cookie -dump "http://www.google.com.hk/search?q=tq+$city" 2> /dev/null`;
应该加一个语言设置的参数,变成简体
因为我的w3m没登录过google,没cookie,初次登录是显示繁体,而繁体不能查天气
这样写就好了,测试发现没问题
代码: 全选
$_ = `w3m -cookie -dump "http://www.google.com.hk/search?hl=zh-CN&q=tq+$city" 2> /dev/null`;
everything is nada; nada is nothing
Otro Loco Más
我是Lavande的马甲,但是有时候,我觉得,我们不是同一个人。
-
HuntXu
- 帖子: 5776
- 注册时间: 2007-09-29 3:09
#11
帖子
由 HuntXu » 2010-07-17 13:00
你用5.010就是为了用say...

HUNT Unfortunately No Talent...
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#12
帖子
由 tusooa » 2010-07-17 13:27
say,少写4个字,爽啊。
-
onelynx
- 帖子: 817
- 注册时间: 2008-11-13 16:03
#13
帖子
由 onelynx » 2010-07-17 13:30
ルルティア 写了:大三八可能是没装w3m吧?
这个脚本如果要通用可能得改一下
代码: 全选
$_ = `w3m -cookie -dump "http://www.google.com.hk/search?q=tq+$city" 2> /dev/null`;
应该加一个语言设置的参数,变成简体
因为我的w3m没登录过google,没cookie,初次登录是显示繁体,而繁体不能查天气
这样写就好了,测试发现没问题
代码: 全选
$_ = `w3m -cookie -dump "http://www.google.com.hk/search?hl=zh-CN&q=tq+$city" 2> /dev/null`;
不错学习了
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#14
帖子
由 tusooa » 2010-07-17 13:36
38不是没装w3m,
找不到w3m,perl不会报编译错误。
代码: 全选
tlcr: 127 庚寅年六月初六日 13:30:35 ~
>> type w3m
w3m is /usr/bin/w3m
tlcr: 0 庚寅年六月初六日 13:30:54 ~
>> PATH=/bin:$HOME/应用/脚本 /usr/bin/perl -w $(which wg-天气.perl)
城市名称有误。
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#15
帖子
由 tusooa » 2010-07-18 17:04
有没有人把它放到conky里面的?
ps:216次阅读,就14次回复!
