X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: David Bear Subject: Re: dealing with spaces in paths Date: Wed, 10 Jan 2007 21:31:37 -0700 Lines: 62 Message-ID: <2136698.bXxsDy0XMg@teancum> References: <1278386 DOT c5zxZe01gc AT teancum> Reply-To: david DOT bear AT asu DOT edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit Mail-Copies-To: david DOT bear AT asu DOT edu User-Agent: KNode/0.9.0 X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 David Bear wrote: > I'm attempting to script building mount points in order to handle spaces > in file names. So I do something like this: > > homedir=`cygpath -w $USERPROFILE` > mount -buf "\"$homedir\" $HOME/myh > > When I echo the mount command to the syntax looks correct. > > However, when I actually run the mount command via the script I get the > message there are not enough parameters, like mount is not getting what it > needs. > > Dealing with spaces is a huge pain... but this seems be one way to handle > them. Any idea why mount is unhappy when scripted as shown above? > !!! reposting an email sent by 0.Fractalus -- Thanks !!! > because you are feeding mount a path like /boo/some stuff/ like mount > /boo/some stuff. unfortunately this is because you need quotes around > that path. > here's what i think your trying to run: > mount /cygdrive/c/documents and settings/$UNAME/ > this will cause mount to think its bring run with the hooks > ?/cygdrive/c/documents > ?and > ?settings/$UNAME/ > > run something like mount "/cygdrive/c/documents and settings/"$UNAME"/" > and it should work... !!! and my email response to him !!! thanks for the suggestion. in the script I use escaped quotes within mount line as I show above. When I leave out the escaped quotes, I get what you show with multiple lines of /cygdrive/c/documents and settings/blahhh The escaped quotes should cause the script to pass the quotes on through to the command line it generates. You can verify exactly what the script generates by putting single quotes around the mount -buf part of the string. so try this and see what your cygwin tells you.. #!/bin/sh homedir=`cygpath -w $USERPROFILE` echo 'mount -buf '"\"$homedir\" $HOME/mountpoint It should be a complete runable bash snippet. It generates what looks like a syntactically correct mount command. What do you think? -- David Bear College of Public Programs at Arizona State University -- 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/