[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problems with test -L on Solaris
From: |
libtool |
Subject: |
Re: Problems with test -L on Solaris |
Date: |
Sun, 22 Apr 2001 20:23:43 -0500 |
User-agent: |
Mutt/1.1.12i |
On Sun, Apr 22, 2001 at 08:05:38PM +0200, Peter Eisentraut wrote:
> Albert Chin-A-Young writes:
>
> > > Try changing the code to look like this:
> > >
> > > if test -L "$file" >/dev/null 2>&1 || test -h "$file" >/dev/null 2>&1
> > > || test -f "$file"; then
> >
> > Well, examine the following:
> > $ /bin/sh
> > $ test -X "/etc/passwd" || echo foo
> > test: argument expected
> > $ test -L "/etc/passwd" || echo foo
> > test: argument expected
> >
> > Because the "echo foo" never gets called, it doesn't matter what is
> > placed after ||.
>
> That's a peculiar shell. How about this:
>
> if test -L "$file" >/dev/null 2>&1; then
> :
> elif test -h "$file" >/dev/null 2>&1; then
> :
> elif test -f "$file"; then
> :
> elif ...
No. But this will work:
if (test -L "$file") >/dev/null 2>&1 || \
(test -h "$file") >/dev/null 2>&1 || \
test -f "$file"; then
I've already tested it. I'll contribute the patch soon.
--
albert chin (address@hidden)