On Sun, Jul 24, 2011 at 10:00:09PM +0800, lolilolicon wrote:
> On Sun, Jul 24, 2011 at 9:09 PM, Connor Lane Smith <c...@lubutu.com> wrote:
> > On 24 July 2011 06:34, Dave Reisner <d...@falconindy.com> wrote:
> >> if [ "$path" -nt "$CACHE" ]; then
> >
> > 'test -nt' is non-portable. I think you've just discovered why we use
> > the 'ls -dt' hack.
> >
> > I agree that dmenu_run isn't the nicest script in existence. But
> > because of the tedious limitations of POSIX we don't have much choice.
> 
> Sorry, but can you give an example where `test -nt' is not available?
> Or can you point out what do you refer to to determine the portability
> of a shell script?

I usually reference opengroup for POSIX util specs. I do love the
wooledge wiki, though.

http://pubs.opengroup.org/onlinepubs/000095399/utilities/test.html

d

> According to Greg's wiki [1], `test -nt' is not supported by dash,
> although it works here with dash 0.5.6.1. Even if you must support the
> older versions that does not know about `test -nt', you can use find:
> 
>   test `find "$path" -prune -newer "$CACHE"`
> 
> as a drop-in replacement, which is better than `ls -dt' after all.
> 
> [1] http://mywiki.wooledge.org/Bashism
> 

Reply via email to