Path: csiph.com!optima2.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!usenet.stanford.edu!not-for-mail From: Linda Walsh Newsgroups: gnu.bash.bug Subject: Re: -e does not take effects in subshell Date: Tue, 18 Aug 2015 13:49:53 -0700 Lines: 42 Approved: bug-bash@gnu.org Message-ID: References: <20150811135056.GD4309@eeg.ccf.org> <55CC26A7.10000@redhat.com> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: usenet.stanford.edu 1439931011 25456 208.118.235.17 (18 Aug 2015 20:50:11 GMT) X-Complaints-To: action@cs.stanford.edu Cc: Greg Wooledge , PRC , "bug-bash@gnu.org" To: Eric Blake Envelope-to: bug-bash@gnu.org User-Agent: Thunderbird In-Reply-To: <55CC26A7.10000@redhat.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 173.164.175.65 X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com gnu.bash.bug:11381 Eric Blake wrote: > Like it or not, it is the historical behavior standardized by POSIX. ---- This is not true. POSIX no longer documents historical behavior, but now dictates new, historically-incompatible behaviors for a variety of features in a variety of products (not just BASH). As such, since the original mission statement of POSIX was to be *descriptive* of what was (so a compatible standard could be provided), and that is NOT what the new POSIX (post 2001-2003) has as a mission statement, I assert the new "POSIX" is simply a new organization that got the rights to use the name but use it as a "club" to force products to their new, dumbed-down and maladaptive behaviors. Ex: rmx -fr (alias to rm --one-file-system -fr, since rm lacks the -x switch like 'find, cp, mv, et al.) no longer works to clean out a directory && stay on *one* file system. Now rm will delete things on any number of file systems, as long as they correspond to a cmdline argument. Many people said to use rm -xfr * to delete contents... but each object in 'rm' can be on a different file system. Worse "rm -xfr **". The workaround -- to use non-posix options of 'find' (or have find call 'rm' for each qualified object. Please don't spread the lies that the *current* POSIX specs only reflect historical behavior because it is not true. > It > is NOT intuitive, and our advice is "DON'T USE set -e - IT WON'T DO WHAT > YOU WANT". We can't change the behavior, because it would break scripts > that rely on the POSIX-specified behavior. === I used the old behavior for over 10 years in various SH-compat shells, and it *WAS* useful. POSIX changed it to be unuseful. >