On 06/05/10 12:15, Vincent Lefevre wrote: > Hi, > > I've reported the following bug in the Debian BTS: > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=580492 > > With the basename and dirname utilities from GNU Coreutils, one has: > > ypig% POSIXLY_CORRECT=1 basename -- > basename: missing operand > Try `basename --help' for more information. > ypig% POSIXLY_CORRECT=1 dirname -- > dirname: missing operand > Try `dirname --help' for more information. > > instead of: > > ypig% busybox basename -- > -- > ypig% busybox dirname -- > . > > According to POSIX[*], basename and dirname take no options (examples > in POSIX also assume that), so that this would make BusyBox's behavior > correct. > > [*] http://www.opengroup.org/onlinepubs/9699919799/utilities/basename.html > http://www.opengroup.org/onlinepubs/9699919799/utilities/dirname.html >
The above busybox behavior implies that if you write a robust script like this for coreutils, that it is not portable to busybox: base=$(basename -- "$path") That also implies that we can't change the behavior. Because there is an optional suffix parameter, one can't know which behavior is required for the above example. I suppose one could choose based on POSIXLY_CORRECT. Note solaris behaves like busybox and openbsd behaves like coreutils. cheers, Pádraig. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org