打印本文 打印本文 关闭窗口 关闭窗口
GNU/Linux实战手记之Emacs篇 中--Bash程序设计
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2012  更新时间:2009/4/22 20:45:54  文章录入:mintao  责任编辑:mintao
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] 

打印本文 打印本文 关闭窗口 关闭窗口