2016-11-26 5 views
1

実行するたびに異なるサウンドを再生するスクリプトを作成する必要があります。簡単な方法があればお知らせください。今すぐ以下のスクリプトは私が持っているものですが、私はそれが欲しいのように猫のコマンドが動作しているとは思わない。手伝ってください。コマンドシェルの場合は.txtファイルからの入力を使用します。linux

#! /bin/sh 
### BEGIN INIT INFO 
# Provides:   rc.local 
# Required-Start: $all 
# Required-Stop: 
# Default-Start:  2 3 4 5 
# Default-Stop: 
# Short-Description: Run /etc/rc.local if it exist 
### END INIT INFO 

if [ "cat /home/lucio/Desktop/welcomevar" = "10" ]; 
then 
echo 1 > /home/lucio/Desktop/welcomevar; mplayer   /home/lucio/Desktop/sounds/welcome1.mp3 
fi 

if [ "cat /home/lucio/Desktop/welcomevar" = "1" ]; 
then 
echo 2 > /home/lucio/Desktop/welcomevar; mplayer  /home/lucio/Desktop/sounds/welcome2.mp3 
fi 

if [ "cat /home/lucio/Desktop/welcomevar" = "2" ]; 
then 
echo 3 > /home/lucio/Desktop/welcomevar; mplayer /home/lucio/Desktop/sounds/welcome3.mp3 
fi 

if [ "cat /home/lucio/Desktop/welcomevar" = "3" ]; 
then 
echo 4 > /home/lucio/Desktop/welcomevar; mplayer  /home/lucio/Desktop/sounds/welcome4.mp3 
fi 

if [ "cat /home/lucio/Desktop/welcomevar" = "4" ]; 
then 
echo 5 > /home/lucio/Desktop/welcomevar; mplayer   /home/lucio/Desktop/sounds/welcome5.mp3 
fi 

if [ "cat /home/lucio/Desktop/welcomevar" = "5" ]; 
then 
echo 6 > /home/lucio/Desktop/welcomevar; mplayer  /home/lucio/Desktop/sounds/welcome6.mp3 
fi 

if [ "cat /home/lucio/Desktop/welcomevar" = "6" ]; 
then 
echo 7 > /home/lucio/Desktop/welcomevar; mplayer  /home/lucio/Desktop/sounds/welcome7.mp3 
fi 

if [ "cat /home/lucio/Desktop/welcomevar" = "7" ]; 
then 
echo 8 > /home/lucio/Desktop/welcomevar; mplayer  /home/lucio/Desktop/sounds/welcome8.mp3 
fi 

if [ "cat /home/lucio/Desktop/welcomevar" = "8" ]; 
then 
echo 9 > /home/lucio/Desktop/welcomevar; mplayer /home/lucio/Desktop/sounds/welcome9.mp3 
fi 

if [ "cat /home/lucio/Desktop/welcomevar" = "9" ]; 
then 
echo 10 > /home/lucio/Desktop/welcomevar; mplayer   /home/lucio/Desktop/sounds/welcome10.mp3 
fi 

exit 0 
+0

例:http://stackoverflow.com/questions/4227994/command-line-arguments-from-a-file-content – GhostCat

答えて

0

は、例えばここを参照してください:command line arguments from a file content ...しかし、注意してください:あなたのアプローチには、いくつかの汚いハックのように本当に見えます。

場所全体に同じパスが繰り返されています。あなたはユーザー名をハードコーディングしています。

ファイルによっては、Linuxで別のサウンドを再生したい場合は、もっと簡単な方法があると思います。

はたとえば、あなたは、単に上記のデスクトップ/ welcome.mp3の名の下に、あなたのmp3ファイルのいずれかからリンクを作成します

cd Desktop 
ln -s sounds/welcomeX.mp3 welcome.mp3 

ような何かを行うことができます。今、あなたは単に

mplayer /home/lucio/Desktop/welcome.mp3 

を行うと、それは、リンクファイルを再生します。つまり、再生するファイルを変更する場合は、そのリンクを削除して別のリンクを作成するだけです。だから、ファイルの内容をファイル名にスーパー・エレガントでないマッピングをするのではなく、常に同じファイルを使用するだけですが、実際に別のコンテンツを指すリンクを使用してください。

関連する問題