12

bash で次の関数を実行すると、タイトルに記載されているエラーが発生します。エラーは通常、最終EOF行が行頭にない場合に表示されます。

EOF始めたばかりなので何が悪いのかわかりません。スクリプトのさらに上 (表示されていません) には、他のヒアドキュメントがあり、それらは機能します。

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[1]},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
}
4

1 に答える 1

35

ファイナルの後にスペースがあるEOFため、ヒアドキュメントを終了できませんでした。

p/s: コードをコピーして貼り付けているときに気付きました。

于 2012-10-16T07:10:36.557 に答える