launch windows program from shell according to its extension

Igor Pechtchanski pechtcha@cs.nyu.edu
Wed Jun 8 18:07:00 GMT 2005


On Wed, 8 Jun 2005, Andrew DeFaria wrote:

> zzapper wrote:
>
> > On Wed, 8 Jun 2005 10:59:27 -0400 (EDT), wrote:
> >
> > > > #!/bin/bash
> > > > # csn
> > > > # description : launch most recent file (head)
> > > > # set -x
> > > > cygstart $(l\s -t * | head -1) &
> > >
> > > Make that 'cygstart "$(/bin/ls -t | head -1)"' (add quotes, otherwise
> > > filenames with spaces will not work).
> >
> > Slightly improved to ignore directories (and assuming that Windows files
> > always have an extension) cygstart "$(/bin/ls -t *.* | head -1)"
>
> You're making an invalid assumption that directories do not have extensions.
> They can!
>
> The following works:
>
> cygstart $(ll -t | grep -v "^d" | head -2 | tail -1 | awk '{print $NF}')

Only if you have "alias ll='/bin/ls -l'" (and it has a big problem with
spaces in filenames, of course).  You can do the following instead:

cygstart "$(/bin/ls -FLt | sed -n '\,[/=|]$,!{s/\*$//;p;q}')"

This will launch the newest file if found, or Windows Explorer in the
current directory.  Not launching Explorer is actually harder than just
letting it be.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"The Sun will pass between the Earth and the Moon tonight for a total
Lunar eclipse..." -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list