regexp='^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?!\S+http:\/\/)(?:\S*)$'
fURL()
{
echo -n "Enter the YouTube URL to download: "
read URL
if [ "$URL" != "$regexp" ]; then
echo "${red}Invalid YouTube URL!${normal}"
fURL;
fi
}
http://www.youtube.com/watch?v=tfTWHbtv_-Yでスクリプトをテストしましたが、それでも無効であると表示されます。
コードを変更してみました:
echo $URL | grep "^http:\/\/(?:www\.)?youtube.com\/watch\?(?=[^?]*v=\w+)(?:[^\s?]+)?$"
if [ $? -ne "0" ]; then
echo "${red}Invalid YouTube URL!${normal}"
fURL;
else
echo URL is good.
誰でも助けてもらえますか?ありがとう!