2016-11-26 87 views
1

我需要編寫一個腳本,每次運行時都會播放不同的聲音。如果你有一個更簡單的方法,然後讓我知道。現在下面的腳本是我擁有的,但我不認爲cat命令正在像我想要的那樣工作。請協助。使用來自.txt文件的輸入用於命令shell 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根據某個文件播放不同的聲音;我認爲有更簡單的方法。

例如,你可以簡單地做這樣的事情

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

以上將創建桌面/ welcome.mp3的名下鏈接從你的MP3文件之一。現在,你只需做

mplayer /home/lucio/Desktop/welcome.mp3 

,並且將發揮鏈接文件。換句話說:如果你想改變文件播放,你只需刪除該鏈接,然後創建另一個鏈接。因此,不要將文件內容與文件名進行超級非優雅映射......只是始終使用「相同」文件,而是使用鏈接指向實際上不同的內容。

相關問題