|
5 Mass Ave, Cambridge, MA 02139, USA.
# The first thing to do is to ensure that some global variables that we''''ll be using # throughout the script are set up. We set the title and track files and a temporary file. # We also trap Ctrl-C, so our temporary file is removed if the user interrupts the script.
# First,define some globle variables. choice="" menu_choice="" quit=n
# Second,define some functions. add_mp3(){ echo "Add MP3 files from $HOME/music/mp3 to playlist file \"mp3list\"." find $HOME/music/mp3/ -iname *.mp3 >> $HOME/music/mp3list }
add_ogg(){ echo "Add Ogg files from $HOME/music/ogg to playlist file \"ogglist\"." find $HOME/music/ogg/ -iname *.ogg >> $HOME/music/ogglist }
play_mp3(){ clear echo "Playing MP3 files with mpg123." echo "Control key:" echo "s=>Stop, p=>Pause, f=>Forward, b=>Backward, q=Quit(Directly)" echo "Also" echo "Press Ctrl-C for next song, and press Ctrl-C twice within a short while to quit."
mpg123 -C --list $HOME/music/mp3list return }
play_ogg(){ clear echo "Playing Ogg files with ogg123." echo "Control key:" echo "Press Ctrl-C for next song, and press Ctrl-C twice within a short while to quit." echo
ogg123 $HOME/music/ogg # As the ogg123 do not support playlist, we never use the ogglist file. return }
welcome_msg(){ clear echo echo "Mini Music Jukwbox--A very simple program written in Bash script." echo echo "Before using it, you should at least have the following two program on your system:" echo "ogg123 - needed for playing Ogg files." echo "mpg123 - needed for playing MP3 files." echo echo "Do you have these software?(y/n):" read choice }
set_menu(){ clear echo "Mini Music Jukwbox." echo echo "Options :" echo echo " 1) Add MP3 files to playlist" echo " 2) Add Ogg files to playlist" echo " 3) Play MP3" echo " 4) Play Ogg" echo " q) Quit" echo echo "Please enter your choice and then press return" read menu_choice }
# Final,the application proper welcome_msg if [ "$choice" = "y" ] then while [ "$quit" != "y" ] do set_menu case "$menu_choice" in 1) add_mp3;; 2) add_ogg;; 3) play_mp3;; 4) play_ogg;; q|Q) quit=y;; *) echo "Sorry, choice not recognized";; esac done else exit 0 fi
echo "Thanks for using. Bye! :)" exit 0
在shell模式下运行这个脚本。我在这里只使用了Bash的部分特性,你可以自行修改上面的程序,作为学习Bash的实验。
【GNU/Linux实战手记之Emacs篇 中】到此就结束了。这一篇仅涉及Bash,并未涉及Emacs,所以你完全可以将本篇看做是介绍Bash编程的独立的文章。但是由于我们一直是在Emacs这个环境下编写和调试脚本的,所以我仍将他归到Emacs篇中。在下一篇【GNU/Linux实战手记之Emacs篇 下】中我将介绍如何定制Emacs的IDE环境,使它更好用。我们下篇再见。
上一页 [1] [2] [C语言系列]C# 和 Linux 时间戳转换 [Web开发]PHP flock文件锁介绍 [Web开发]flock() Linux下的文件锁 [电脑应用]Linux下的六个免费的虚拟主机管理系统介绍 [电脑应用]Linux数据库大比拚 [操作系统]在Windows中玩转Linux操作系统 [办公软件]在RedHat Linux 9里安装gaim0.80 [办公软件]掌握 Linux 调试技术 [办公软件]理解 Linux 配置文件 [聊天工具]Real10 & Xpdf installation on Linux Box
|