2010-12-10 2 views
0

내가받은 다음 스크립트를 실행? iMac에서 텍스트 편집기로 편집 할 수 있습니까? 어쩌면 CR로 할 일이 있을까요?구문 오류 :</p> <blockquote> <p>line 8: ((: i = 0 : syntax error: invalid arithmetic operator (error token is " ")</p> </blockquote> <p>잘못 어떤 생각 : 유효하지 않은 산술 연산자

domains=(yourdomain.com yourdomain2.com) 
sqldbs=(yourdb1 yourdb2) 
opath=$HOME/backup/ 
mysqlhost=mysqlhostname 
username=mysqlusername 
password=mysqlpassword 
suffix=$(date +%m-%d-%Y) 
for ((i = 0 ; i < ${#domains[@]} ; i++)) 
do 
    cpath=$opath${domains[$i]} 
    if [ -d $cpath ] 
    then 
     filler="just some action to prevent syntax error" 
    else 
     echo Creating $cpath 
     mkdir -p $cpath 
    fi 
    mysqldump -c -h $mysqlhost --user $username --password=$password ${sqldbs[$i]} > ${cpath}/${sqldbs[$i]}_$suffix.sql 
done 

답변

0

8 행 (스크립트에서와 같이)을 복사하여 붙여 넣고 잘 작동해야합니다. 파싱 ​​오류는 8 행의 문자 때문에 발생했습니다.

0

메모장 + +를 사용하는 경우 BOM이없는 UTF8로 인코딩> 인코딩으로 이동하십시오. Mac 소프트웨어에 대해 잘 모릅니다.

+1

불가능합니다. BOM이 파일의 첫 번째 항목이며 OP의 ** 8 **에서 오류가 발생합니다. – delnan

1

오류 코드는 문제가 무엇인지 알려주고 있습니다. 추가 공간이 있습니다. 8 행은 다음과 같아야합니다.

for (i=0; i<${#domains[@]}; i++) 
+0

내가 8 행을 바꾼 것처럼 보였다 : 8 행 : 예기치 않은 토큰 근처에서 구문 오류가 발생했습니다. '( 줄 8 :'for (i = 0; i <$ {# 도메인} [i]), i ++)' – Giorgos

+0

@ 본때를 보여 주시겠습니까? bash 또는 sh를 사용하고 있습니까? –

+0

스크립트는 여기에 언급되어 있습니다 : http://wiki.dreamhost.com/Mysqldump SHELL =/bin/bash – Giorgos