[原创]一个播放文件夹里MP3音乐的脚本

sh/bash/dash/ksh/zsh等Shell脚本
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#16

帖子 solcomo » 2008-08-31 19:46

..谁以前好像写过一个
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

#17

帖子 adagio » 2008-08-31 19:49

我知道了,LZ这个脚本有个缺陷,就是如果目录名有空格就放不了,这个不太好啊,你再改改? :lol:
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
yjcong
帖子: 2470
注册时间: 2006-02-28 3:11

#18

帖子 yjcong » 2008-08-31 19:53

adagio 写了:我知道了,LZ这个脚本有个缺陷,就是如果目录名有空格就放不了,这个不太好啊,你再改改? :lol:
应该在脚本里读取文件名的时候加个引号就成了吧
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
头像
想入非非
帖子: 8078
注册时间: 2008-07-14 22:42
来自: Beijing
联系:

#19

帖子 想入非非 » 2008-08-31 21:48

这个还是鼓励原创的精神但是没什么必要
直接安装一个xmms2,一切就解决了
Ubuntu User
jlu-windy
帖子: 19
注册时间: 2008-03-27 16:37

#20

帖子 jlu-windy » 2008-08-31 22:18

也许是吧,其实编什么并不重要,重要的是编它从中学到的东西。
想到自由的精神,所以发到这里,对于想学shell的这也许是一个不错的例子。
正好也完善一下,果然有许多兄弟帮助。

说真的,有的时候也许真拿它用来听听音乐放松一下。不是吗? :wink:

想入非非 写了:这个还是鼓励原创的精神但是没什么必要
直接安装一个xmms2,一切就解决了
头像
sinyadvan
帖子: 724
注册时间: 2008-04-02 15:36
来自: O_O

#21

帖子 sinyadvan » 2008-08-31 22:29

比我的好呀,能後台。呵呵,我的腳本雖然不能獨立後台,但不管多奇怪的文件名都支持。唉,被大家打擊了,最後被我刪了。
^o^ && O_O && ^_^
One World|One Dream|One Piece
愛 ^_^ 這個 美麗的世界O_O

本公司专治各种不服、不爽、谩骂、挑衅。
头像
qqttdh
帖子: 896
注册时间: 2007-07-20 22:15

#22

帖子 qqttdh » 2008-09-03 8:35

拿我的出来晒晒(实现了。任意位置开始和多曲目选定)

代码: 全选

#!/bin/bash
#kill players
killall mplayer mpg123;
if [ "`ps aux |grep mplayer |grep -v grep|wc -l`" != 0 ];then
kill -9 `ps aux |grep mplayer |grep -v grep|awk {'print $2'}`
fi
#clean
if [ -s /tmp/mlist ]; then
rm /tmp/mlist
fi

#make play list
dr=`pwd`
#dr=`dirname "$1"`
#cd "$dr"
#st=${1##*\/}
st="`echo "$1"|sed 's/\[/\\\[/g;s/\]/\\\]/g'`"
echo "$st"
list="`ls "$dr"|grep -v ".jpg"|grep -v ".srt"`"
a="`echo "$list"|grep -n "$st"|sed -n 1p|awk -F : '{print $1}'`"
b="`echo "$list"|wc -l`"
#error manage
c=$#
if [ -z $a ];then a=1;c=0;fi
#######
for((i=$a;i<=$b;i++))do
if [ $c = 0 ];then
song="`echo "$list"|sed -n $i,$(($i))p`"
echo "$dr/$song" >>/tmp/mlist
else
song="`echo "$list"|sed -n $i,$(($i))p`"
song1="`echo "$song"|sed 's/\[/\\\[/g;s/\]/\\\]/g'`"
need_list="`echo "$*"|grep "$song1"|wc -l`"
if [ $need_list = 1 ];then
echo "$dr/$song" >>/tmp/mlist
fi
fi
done

#play with list
if [ -s /tmp/mlist ]; then
if [ $c = 0 ];then
mplayer -playlist /tmp/mlist
else
mplayer -playlist /tmp/mlist -loop 0
fi
#clean
rm /tmp/mlist
fi

exit
回复