0

运行我收到的以下脚本:

第 8 行:((:i = 0:语法错误:算术运算符无效(错误标记为“”)

知道有什么问题吗?可以在 iMac 上使用文本编辑器进行编辑吗?可能与 CR 有什么关系?

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
4

3 回答 3

1

错误代码告诉你问题是什么:你有一个额外的空间。第 8 行应该是:

for (i=0; i<${#domains[@]}; i++)
于 2010-12-10T22:26:12.763 回答
0

如果您使用的是记事本++,请转到编码 > 以 UTF8 编码而不使用 BOM。抱歉,我对 Mac 软件一无所知。

于 2010-12-10T21:59:35.770 回答
0

我再次复制并粘贴第 8 行(就像在脚本中一样)并且工作正常。似乎解析错误是由于第 8 行中的一个额外字符造成的

于 2010-12-13T17:49:43.720 回答