sh/bash/dash/ksh/zsh等Shell脚本
Nile
帖子: 990 注册时间: 2006-07-15 11:20
来自: 枫叶刀市
#1
帖子
由 Nile » 2008-02-29 23:03
我在写一个用mplayer连续播放文件的shell,
问题是如何让shell区分
1, mplayer播放到文件结尾自动退出
2, 用户按q或esc退出程序
两种情况(都属于正常退出)?
请各位高手给点建议
thx!
Thinkpad T400
BigSnake.NET
帖子: 12522 注册时间: 2006-07-02 11:16
来自: 廣州
联系:
#2
帖子
由 BigSnake.NET » 2008-03-03 20:21
不可以
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
eexpress
帖子: 58428 注册时间: 2005-08-14 21:55
来自: 长沙
#3
帖子
由 eexpress » 2008-03-03 21:18
mp的输出,定向到你的shell。一直read,判断最后的文字?
试试吧。只是,mp不是支持列表的吗。
● 鸣学
cosechy
帖子: 82 注册时间: 2008-03-06 4:56
#4
帖子
由 cosechy » 2008-03-06 4:58
加个管道,用别的程序代替mplayer读键盘输入
eexpress
帖子: 58428 注册时间: 2005-08-14 21:55
来自: 长沙
#5
帖子
由 eexpress » 2008-03-06 13:22
mplayer /home/exp/媒体/◇事件声音-et/select.wav; echo $?
判断$?都可以的。判断什么键盘哦。
● 鸣学
chasye
帖子: 333 注册时间: 2007-05-13 15:20
#6
帖子
由 chasye » 2008-03-06 17:01
shell 中加入
_exit()
{
echo "some one kill me !!!"
exit 1
}
trap "_exit" 2 3 15
Nile
帖子: 990 注册时间: 2006-07-15 11:20
来自: 枫叶刀市
#7
帖子
由 Nile » 2008-03-07 16:31
呵呵,按ee的思路作好了
eexpress 写了: mp的输出,定向到你的shell。一直read,判断最后的文字?
试试吧。只是,mp不是支持列表的吗。
只是感到mplayer的列表有点不够“智能”:D
播放时
mplayer -fs -quiet -sub-fuzziness 1 "$FileName" | tee /tmp/mpl_tmp
然后mplayer结束后用
if [ "`tail -1 /tmp/mpl_tmp`" = "Exiting... (Quit)" ]
判断就可以了。
PS:学校网速真慢到姥姥家了....
Thinkpad T400
eexpress
帖子: 58428 注册时间: 2005-08-14 21:55
来自: 长沙
#8
帖子
由 eexpress » 2008-03-07 19:57
$?的,我试过,也可以的吧。你试试
● 鸣学
BigSnake.NET
帖子: 12522 注册时间: 2006-07-02 11:16
来自: 廣州
联系:
#9
帖子
由 BigSnake.NET » 2008-03-07 20:08
代码: 全选
autumncat@autumncat-host:~/qt
$ mplayer -really-quiet foo.mp3
mplayer: could not connect to socket
mplayer: No such file or directory
Exit status: 1
autumncat@autumncat-host:~/qt
$ mplayer -really-quiet foo.mp3
mplayer: could not connect to socket
mplayer: No such file or directory
Exit status: 0
autumncat@autumncat-host:~/qt
$ mplayer -really-quiet foo.mp3
mplayer: could not connect to socket
mplayer: No such file or directory
Exit status: 0
第一次是 pkill
第二次是 q
第三次是 自然播完
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
eexpress
帖子: 58428 注册时间: 2005-08-14 21:55
来自: 长沙
#10
帖子
由 eexpress » 2008-03-07 20:13
没文件的不对吧。
我理解楼主只是需要ctrl-c和完成2种状态。有其他的要求的,还是判断输出算了。
● 鸣学
BigSnake.NET
帖子: 12522 注册时间: 2006-07-02 11:16
来自: 廣州
联系:
#11
帖子
由 BigSnake.NET » 2008-03-07 20:15
eexpress 写了: 没文件的不对吧。
我理解楼主只是需要ctrl-c和完成2种状态。有其他的要求的,还是判断输出算了。
ee根本没看清lz.. 他要的是区别 q 与 eof
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
eexpress
帖子: 58428 注册时间: 2005-08-14 21:55
来自: 长沙
#12
帖子
由 eexpress » 2008-03-07 20:19
那随便了。我想理解问题,并不局限于标题要求的。
球猫,赶紧出来,说明下今天ping通人了没。
● 鸣学