X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Message-ID: <4AF64144.8050000@veritech.com> Date: Sat, 07 Nov 2009 22:55:48 -0500 From: "Lee D. Rothstein" User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: 1.7] Can you have multipe cygdrive path prefixes active at once References: <26227605 DOT post AT talk DOT nabble DOT com> <26227607 DOT post AT talk DOT nabble DOT com> <4AF3C9FE DOT 806 AT bopp DOT net> <26230853 DOT post AT talk DOT nabble DOT com> <4AF495B0 DOT 7090607 AT bopp DOT net> <26249511 DOT post AT talk DOT nabble DOT com> <4AF605C3 DOT 6050005 AT bopp DOT net> In-Reply-To: <4AF605C3.6050005@bopp.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 Bopp wrote: > aputerguy wrote: >> Jeremy Bopp writes: >>> Well, it's a bit of a hack, but you could try something like the >>> following: >>> $ dirname $(cygpath -u C:/) >>> This assumes that there is always a C: drive and converts the path to >>> the root of that drive into a POSIX path which will include the cygdrive >>> prefix. Then dirname is used to effectively chop off the drive letter >>> leaving you with the cygdrive prefix. >> This doesn't seem to work in the case where you have mounted the C: drive. >> For example I mount C: on /c >> And the above returns: >> $ dirname $(cygpath -u c:/) >> / >> which doesn't tell me what the cygdrive prefix is -- only where 'c' is >> mounted. >> Of course, as pointed out in a later reply, one can use an unused disk drive >> letter like 'x' but that is hardly robust since who knows what drive letters >> will be unused and/or unmounted. > Assuming you do find a reliable way to discover the cygdrive prefix, how > do you plan to handle mapped drives for remote shares? I ask because > you mentioned that you might want to be able to run something like find > on the cygdrive prefix itself, and of course scanning a remote share > like that may not be desirable. Also, how do you handle the mounted C: > case as well? Even if you mount it to /c as you have done, I think > /cygdrive/c will also have it. > -Jeremy Does this not do what's required (barring spaces in the "Cygdrive" alternative prefix): -- #!/bin/bash # drives_root: Show the root prefix of the Windows drives # (perhaps 'Cygdrive', if the installation default # was selected) of the current installation of Cygwin # By Lee Rothstein, 2009-11-06 11:58:53 #PName=$(basename $0) #PVersion="0.01.00.001" #PUpDate="2009-11-07" mount -p | gawk 'NR==2 { print $1 }' -- WRT embedded spaces in the drive prefix: UNIX, GNU, Linux and to a large extent Perl, et al, are powerful because they demand of users a lack of abject stupidity. If stupidity is enforced by OS conventions and style, the results cannot be good. Similar approaches to the above can be used with other mounting artifice, and could even be adapted to embedded spaces. Shares at depths of more than one directory are another story, but probably could also be dealt with. Or, perhaps I don't understand the issues? Lee -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple