| From: Mitch <mitch48@xxxxxxxxxxxxx> | If you are running a name server check some things. | You have a new /etc/sysconfig/named file | and the line 224 in /usr/sbin/bind-chroot-admin | is making a test in this context: | | . /etc/sysconfig/named | if [ "$ENABLE_ZONE_WRITE" = [yY1]* ]; then | return 0; | fi; That test is bogus in several ways. Unless the man page expr(1) is bogus (never trust GNU-generated man pages). The shell command "[" is supposed to be another name for "expr". In expr, the binary operator "=" does not take regular expressions. So the "[yY1]*" makes no sense. The test does not do what the author appears to think it will do. But it is worse than that. The shell does globbing on this operand since it isn't quoted. So [yY1]* would get expanded to the list of filenames in the current directory whose names start with y, Y, or 1. If none match it would remain unchanged. The result would be passed to the expr. If it was a list, that would be a mess. If it were a single item, it would just be wrong. My guess is that the current directory has several matching files and the resulting list provokes a syntax error message from expr. Perhaps the correct test is if [ "$ENABLE_ZONE_WRITE" : '[yY1]*' ]; then ^ ^ ^ Whoever wrote this script cannot have tested the "then" path of this if. I've added a Bugzilla entry: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=241608