我已經修改了這個腳本從YouTube下載歌曲,但我收到以下錯誤,當我運行它是這樣的:參數太多錯誤
sh youtube2mp3.sh https://www.youtube.com/watch?v=gpOJ6iu8fqQ
錯誤:
youtube2mp3.sh: line 31: [: too many arguments
youtube2mp3.sh: line 39: [: too many arguments
youtube2mp3.sh: line 49: [: too many arguments
Sorry but the system encountered a problem.
行號指的是三個if [ -f $video_title.$ext1 ]
線...我想我的觀點確定,因爲它在以前版本的工作,但我被困在這一點上 - 可能有人解釋我需要做什麼來糾正它?
address=$1
video_title="$(python youtube-dl $address)"
ext1="flv"
ext2="mp4"
ext3="webm"
if [ -f $video_title.$ext1 ]
then
ffmpeg -i $video_title.$ext1 "$video_title".wav
lame "$video_title".wav "$video_title".mp3
rm $video_title.$ext1 "$video_title".wav
else
if [ -f $video_title.$ext2 ]
then
ffmpeg -i $video_title.$ext2 "$video_title".wav
lame "$video_title".wav "$video_title".mp3
rm $video_title.$ext2 "$video_title".wav
else
if [ -f $video_title.$ext3 ]
then
ffmpeg -i $video_title.$ext3 -acodec libmp3lame -aq 4 "$video_title".mp3
rm $video_title.$ext3
else
echo "Sorry but the system encountered a problem."
fi
fi
fi
嘗試雙引號測試命令中的變量名稱。例如'如果[-f「$ video_title。$ ext1」]'等 – user000001
你用'sh'而不是'bash'運行它。嘗試改變它並報告回來。還把''''放在你的網址周圍,然後報告。 – mnagel
這基本上是https://stackoverflow.com/questions/10067266/when-to-wrap-quotes-around-a-shell-variable的副本 – tripleee