Fan-flipping-tastic!! Now it works in dash! Thank you very much! Now this
another thing to confuse me when trying to write shell scripts.
That one was solved quickly.
-Aidan
Delio Brignoli wrote:
Hi,
I think this:
until ([[ Reference.pdf -nt Reference.tex ]] && (diff -qs Reference.toc
should be (one square bracket instead of two):
until ([ Reference.pdf -nt Reference.tex ] && (diff -qs Reference.toc
HTH
--
Delio
On 6/06/2008, at 8:27 PM, Aidan Gauland wrote:
Hello,
I'm trying to figure out how to make this Makefile I have 100% POSIX
compliant.
Details:
When run make with this Makefile, I get this error:
/bin/sh: [[: not found
This happens because there is no executable called '[['. You will find
that your system has an executable called '[' which is usually a symlink
to 'test' (running #man test will reveal more).
...it still runs, but I get caught in an infinite loop. I think this
line is
the problem...
until ([[ Reference.pdf -nt Reference.tex ]] && (diff -qs Reference.toc
last/Reference.toc) && (diff -qs Reference.aux last/Reference.aux) &&
(diff
-qs Reference.ind last/Reference.ind)); do \
The make file works if I force make to use bash, instead of the default
/bin/sh (which, on my systen is a link to dash).
Now, conditionals in bash (and the like) have always baffeled me, so
I'm a bit
lost here (now isn't that an understatement), and if any bash savvy
system
administrators here can help me out, that would be greatly appreciated.
I've attached a copy of the Makefile in question, but it's from the
Pipmak (
http://pipmak.sourceforge.net ) project, and you can get it with
Subversion
from...
https://pipmak.svn.sourceforge.net/svnroot/pipmak/trunk/pipmak/documentation
Thanks,
Aidan
<Makefile.gz>