2012-06-28 4 views
0

안녕 얘들 아 내 두 번째 중첩 된 다른 곳에서 오류가 발생했습니다. 그 이름에 공백이있는 폴더로 파일을 옮기는 것과 관련이 있다고 생각합니다. 그러나 확실하지 않습니다. 이름 바꾸기를 허용한다면 중첩 된 다른 항목을 추가하려고 시도했지만 서식을 지정하는 중에도 오류가 발생합니다.Bash 스크립트 오류

실제 문제는 내가 ifs를 중첩시키고 있다고 생각합니까?

오류

/bin/y2m: line 16: syntax error near unexpected token `then' 
/bin/y2m: line 16: `  if[ -z "$newname" ]; then' 

코드

#!/bin/bash 

address=$1 
newname=$2 
regex='v=(.*)' 
if [[ $address =~ $regex ]]; then 
    video_id=${BASH_REMATCH[1]} 
    video_id=$(echo $video_id | cut -d'&' -f1) 

    if[ -z "$newname" ]; then 
     video_title="$newname" 
    else 
     video_title="$(youtube-dl --get-title $address)" 
    fi 

    youtube-dl -o "$video_title".flv $address 
    ffmpeg -i "$video_title".flv -acodec libmp3lame -ac 2 -ab 256k -vn -y "$video_title".mp3 

     if [ -d "/media/SDHC CARD/Music/y2m" ]; then 
      mv "$video_title".mp3 "/media/SDHC CARD/Music/y2m" 
      echo "Moving to Phone Card" 
     else 
      mv "$video_title".mp3 ~/Music 
      echo "Moving to Music Folder" 
     fi 

    rm "$video_title".flv 
else 
    echo "Sorry but you seemed to broken the interwebs." 
fi 

답변

2
내가 공간을 잊었

if[if [

해야한다 나는이

#!/bin/bash 
    # Youtube to MP3 Bash Script 

    # CPR : Jd Daniel :: Ehime-ken 
    # REQ : sudo apt-get install youtube-dl && youtube-dl -U 
    # REQ : sudo apt-get install lame 
    # REQ : ffmpeg [use: http://ubuntuforums.org/showpost.php?p=4907079&postcount=1] 

    address=$1 
    newname=$2 
    regex='v=(.*)' 

    if [[ $address =~ $regex ]]; then 
      video_id=${BASH_REMATCH[1]} 
      video_id=$(echo $video_id | cut -d'&' -f1) 

      if [ -n "$newname" ]; then 
        video_title="$newname" 
      else 
        video_title="$(youtube-dl --get-title $address)" 
      fi 

      youtube-dl -o "$video_title".flv $address 
      ffmpeg -i "$video_title".flv -acodec libmp3lame -ac 2 -ab 256k -vn -y "$video_title".mp3 

        if [ -d "/media/SDHC CARD/Music/y2m" ]; then 
          cp "$video_title".mp3 ~/Music && mv "$video_title".mp3 "/media/SDHC CARD/Music/y2m" 
          echo "Saving to Phone" 
        else 
          mv "$video_title".mp3 ~/Music 
          echo "Saving to Local" 
        fi 

      rm "$video_title".flv 
    else 
      echo "Sorry but you seemed to broken the interwebs." 
    fi 
에 개정