I have been working for some time on a problem with a shell script, and I believe that either the binary "test" from the package "sh-utils" (versions 1.16 and 2.0) contains a bug, or that my usage is incorrect. Specifically, when using bash (version 1.14.7-13) or pdksh (versions 5.2.12-5, 5.2.13-3, and 5.2.14) in Linux (kernel 2.0.36), a single wildcard expansion will, if it matches multiple files, be returned as a list of filenames. The binary "test" does not handle these multiple filenames as I would expect. In both version 1.16 and version 2.0 of "test", I receive an error message upon such expansion. For example, these commands work as expected: # ls /etc/hosts /etc/hosts # test -f /etc/hosts && echo yes yes When a wildcard only returns one filename, "test" works as expected: # ls /etc/hosts.lp* /etc/hosts.lpd # test -f /etc/hosts.lp* && echo yes yes However, when the shell returns multiple filenames for a filename containing a wildcard, "test" does not perform as expected: # ls /etc/h* /etc/hosts /etc/host.conf /etc/hosts.lpd # test -f /etc/h* && echo yes test: too many arguments The same command on a Solaris box (version 7) returns what I would expect: # ls /etc/h* /etc/halt /etc/hostname.hme0 /etc/hosts /etc/hosts.equiv # test -f /etc/h* && echo yes yes I would be happy to admit that my usage is incorrect, but I cannot see how it might be. I also find it difficult to believe that this could be a bug, since testing for the existence of wildcarded filenames is a staple for shell programmers. I hope you can light my way. Thank you for your time and attention. _______________________________________________ Bug-sh-utils mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-sh-utils
