2015-09-28 49 views
0

我正在使用脚本来修改托管在Ubuntu服务器上的Zimbra服务器上的一些邮箱。该脚本检查邮箱是否存在,如果是,则进行所需的更改。Bash脚本错误:错误的fd编号

我得到的错误

scriptname.sh: 4: Syntax error: Bad fd number 

这里的脚本:

#!/bin/bash 
email=$1 
echo "Looking for $email" 
/opt/zimbra/bin/zmprov ga "$email" displayName > /dev/null 2>&1 
if [ $? -ne 0 ]; then 
    echo "Mailbox not found on this server"; exit 2; 
fi 
/opt/zimbra/bin/zmprov ModifyAccount "$email" zimbraMailTransport smtp:server.domain.com:25 
if [ $? -ne 0 ]; then 
    echo "Error updating Transport.";              
    exit 3; 
fi 
echo "Transport updated"; 

的错误与该行:

/opt/zimbra/bin/zmprov ga "$email" displayName > /dev/null 2>&1 

我在庆典相当新手,所以..我真的不知道如何调试。

+0

如果我是对的,fd表示文件描述符。 – vdolez

+1

用'bash -x scriptname.sh'运行它,它会在执行它之前回显每个命令,你很可能会立即发现问题 – bobah

+0

谢谢俾,我把它与你的命令。由于一个未知的原因,在脚本的每行末尾添加了一个\ r。使用notepad ++删除了它,并且它像一个魅力一样工作。 – Ashina

回答

1

由于一个未知的原因,在脚本的每行末尾添加了一个\ r。使用记事本++删除它,它的工作方式就像一个魅力。 - Ashina