我有以下shell脚本:
#!/bin/sh
# Musikscript für Android-App
#sudo killall -9 mplayer
#sudo mplayer -ao alsa:device=hw=0.0 -playlist /home/pi/media/radio/ANTENNE-BAYERN.m3u &
echo $1
echo $2
if [ "$1" = "playlist" ]
then
sudo mplayer -ao alsa:device=hw=0.0 -playlist $2 &
fi
if [ "$1" = "playfile" ]
then
sudo mplayer -ao alsa:device=hw=0.0 $2 &
fi
if [ "&1" = "stop" ]
then
sudo killall -9 mplayer
fi
if [ "$1" = "volume" ]
then
sudo amixer set PCM $2
fi
当我尝试使用以下命令运行文件时
sudo sh /home/pi/scripts/mplayerscript.sh "playlist" "/home/pi/media/radio/ANTENNE-BAYERN.m3u"
它没有问题,但是
sudo sh /home/pi/scripts/mplayerscript.sh "stop"
仅执行2条回波线。
答案 0 :(得分:2)
"&1" = "stop"
..我认为你的意思是"$1" = "stop"
:)
答案 1 :(得分:0)
是的,我认为你的意思是1美元而不是& 1。
但是当你有这样的脚本时,条件只基于一个参数,比如脚本中的$ 1,那么使用“case”会更容易。
中的案例“$ 1”
“播放列表”)
sudo mplayer -ao alsa:device=hw=0.0 -playlist $2 &
;;
“playfile”)
sudo mplay -ao alsa:device=hw=0.0 $2 &
;;
“停止”)
sudo killall -9 mplayer
;;
“体积”)
sudo amixer set PCM $2
;;
ESAC