我需要编写一个每次运行时播放不同声音的脚本。如果您有更简单的方法,请告诉我。现在我有以下脚本,但我认为 cat 命令没有像我想要的那样工作。请协助。
#! /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
最佳答案
例如,请参见此处:command line arguments from a file content ...但请注意:您的方法看起来真的很像一些肮脏的黑客。
你到处都在重复同一条路;你甚至硬编码了用户名。
如果你想让你的 linux 根据某些文件播放不同的声音;我认为有更简单的方法。
例如,你可以简单地做一些像
cd Desktop
ln -s sounds/welcomeX.mp3 welcome.mp3
上面的代码将从您的一个名为 Desktop/welcome.mp3 的 mp3 文件创建一个链接。现在你只需要做
mplayer /home/lucio/Desktop/welcome.mp3
这将播放链接的 文件。换句话说:如果你想改变要播放的文件,你只需删除那个链接,然后创建另一个。因此,与其将文件内容到文件名进行 super 非优雅的映射,不如一直使用“相同”文件,但使用链接指向实际不同的内容。
关于linux - 将 .txt 文件中的输入用于 if 命令 shell linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40822483/