参见英文答案 >
here-document gives ‘unexpected end of file’ error4个
bash中的以下函数会出现标题中提到的错误.当最终EOF不在行的开头时,通常会出现错误.
bash中的以下函数会出现标题中提到的错误.当最终EOF不在行的开头时,通常会出现错误.
EOF刚开始,所以我看不出有什么问题.进一步在脚本(未显示)中还有其他here-docs,它们可以工作.
add_testuser() { kadmin -p admin -q addprinc test cat <<EOF > ~/test.ldif dn: cn=test,ou=groups,dc=${ARRAY[1]},dc=${ARRAY[2]} cn: test gidNumber: 20001 objectClass: top objectClass: posixGroup dn: uid=test,ou=people,dc=${ARRAY[2]} uid: test uidNumber: 20001 gidNumber: 20001 cn: First_name sn: Last_name objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount loginShell: /bin/bash homeDirectory: /home/test userPassword: {CRYPT}* EOF ldapadd -Qf ~/test.ldif kdestroy; kinit test klist ldapwhoami }
在最终的EOF之后你有一个空间,因此无法终止heredoc.
p / s:复制粘贴代码时注意到这一点.