|
From: | Eric Blake |
Subject: | bug#7157: df should default to -P if output is not a tty |
Date: | Mon, 04 Oct 2010 08:30:16 -0600 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100921 Fedora/3.1.4-1.fc13 Mnenhy/0.8.3 Thunderbird/3.1.4 |
On 10/04/2010 03:44 AM, Alain Knaff wrote:
There is an option to prevent this behavior (-P), but apparently the logwatch authors were not aware of it. Understandably, I might say, because if their test cases happen to only have disks with short names, they'll never stumble upon this.
Thanks for the report. However, I'm reluctant to make the change, on the grounds that df -P is documented by POSIX:
http://www.opengroup.org/onlinepubs/9699919799/utilities/df.htmlAnyone that wants portable output MUST use -P, because POSIX explicitly implies that not using -P leads to implementation-defined formatting, which is therefore not machine-parseable.
Furthermore, GNU Coding Standards strongly discourage making behavior dependent on whether stdout is a tty. Yes, some actions, like ls behavior, are mandated by POSIX, and some actions, like --color=auto only make sense with a tty check, but we should not be adding new exceptions without good cause.
One thing that might be possible, however, is to improve df output to adjust column alignment if $COLUMNS is not set (or is set to something large), so as to avoid breaking lines in the case where the output is usable in a long-line context. But this still doesn't help the case that logwatch should have been using -P in the first place.
-- Eric Blake address@hidden +1-801-349-2682 Libvirt virtualization library http://libvirt.org
[Prev in Thread] | Current Thread | [Next in Thread] |