Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Wed, 21 May 2003 10:18:00 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: cygwin AT cygwin DOT com Subject: Re: Setting default printer in startup scripts In-Reply-To: <20030521091107.GF30676@cygbert.vinschen.de> Message-ID: Importance: Normal MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Wed, 21 May 2003, Corinna Vinschen wrote: > On Wed, May 21, 2003 at 10:00:01AM +0100, David Kilroy wrote: > > # Define default printer > > if [ $OS = Windows_NT ]; then > > PRINTER=`regtool get '\user\Software\Microsoft\Windows > > NT\CurrentVersion\Windows\Device'|sed 's?\([^,]*\),.*?\1?g'` > > else > > PRINTER=`regtool get > > '\config\System\CurrentControlSet\Control\Print\Printers\Default'` > > fi > > > > Note: I haven't tested the above much. It works on my NT box with a network > > printer, and I've verified an ME box has the appropriate registry entry. > > The backslashes are somewhat dangerous since they get evaluated as > special characters. Why not use forward slashes instead? regtool > supports them as registry key separator. > > Corinna Corinna, The backslashes are dangerous unless quoted. They seem to be properly quoted in the above. So, either way is fine. The *result* of regtool, however, may contain all kinds of characters (including spaces), and it's *not* quoted. I'm also a bit wary of using OS-specific variables, such as, well, "$OS". So, how about the following: # Define default printer OUR_OS="`uname -s`" case "$OUR_OS" in CYGWIN_NT-*) PRINTER="`regtool get '\user\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device'|sed 's/,.*$//'`" ;; CYGWIN_9?-*) PRINTER="`regtool get '\config\System\CurrentControlSet\Control\Print\Printers\Default'`" ;; esac I can also confirm that the first key exists (and works) on Win2k, and the second key exists (and works) on Win98. FWIW, I'd like to see this in the base-files package. John? Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton -- 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/