GNU bug report logs - #10342
Bug Report for command "dirname"

Previous Next

Package: coreutils;

Reported by: RANJITH REDDY KOMANLA <ranjithreddyis <at> gmail.com>

Date: Wed, 21 Dec 2011 17:58:02 UTC

Severity: normal

Tags: notabug

Done: Eric Blake <eblake <at> redhat.com>

Bug is archived. No further changes may be made.

Full log


Message #13 received at 10342-done <at> debbugs.gnu.org (full text, mbox):

From: Eric Blake <eblake <at> redhat.com>
Cc: RANJITH REDDY KOMANLA <ranjithreddyis <at> gmail.com>,
	10342-done <at> debbugs.gnu.org
Subject: Re: bug#10342: Bug Report for command "dirname"
Date: Wed, 21 Dec 2011 11:22:28 -0700
[Message part 1 (text/plain, inline)]
On 12/21/2011 11:06 AM, Eric Blake wrote:
>> But when i tried using ----->   dirname xyz
>> it gave output as <.>   { output states , present directory
> 
> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/dirname.html
> 
> I'm closing this bug report, as there is no bug here.  However, feel
> free to make further comments if you need more clarification, or help in
> determining if 'dirname' really is the best fit for the shell scripting
> task you were really attempting to solve.

>> If it had stated no such directory ,it would have served my purpose .

Preemptively, I'm going to guess what you were trying to do (but of
course, stating your actual goal will get you further if my guess is on
the wrong track) - given an arbitrary string in $str, determine whether
that string represents an existing file; if so, report the absolute path
of the directory that contains the file, and if not, report that no such
file exists.

In which case, this will do the trick (using GNU readlink):

readlink -ve -- "$str" || dirname -- "$(readlink -e -- "$str")"

It is also possible to do this without forking readlink or dirname, but
instead doing it entirely in POSIX shell using constructs like ${str%/*}
and test -f.  Making it portable to Solaris /bin/sh is tougher.

-- 
Eric Blake   eblake <at> redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

[signature.asc (application/pgp-signature, attachment)]

This bug report was last modified 13 years and 182 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.