From owner-freebsd-bugs@FreeBSD.ORG Thu Sep 18 21:37:04 2014 Return-Path: Delivered-To: freebsd-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1460741E for ; Thu, 18 Sep 2014 21:37:04 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EE8EE92D for ; Thu, 18 Sep 2014 21:37:03 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8ILb3dY012113 for ; Thu, 18 Sep 2014 21:37:03 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 193759] Wrong behaviour of IFS='|' set in /bin/sh Date: Thu, 18 Sep 2014 21:37:04 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: bin X-Bugzilla-Version: 10.0-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: jilles@FreeBSD.org X-Bugzilla-Status: Issue Resolved X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: jilles@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status cc resolution assigned_to Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Sep 2014 21:37:04 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193759 Jilles Tjoelker changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Needs Triage |Issue Resolved CC| |jilles@FreeBSD.org Resolution|--- |Works As Intended Assignee|freebsd-bugs@FreeBSD.org |jilles@FreeBSD.org --- Comment #1 from Jilles Tjoelker --- Thanks for your report. However, the behaviour is as designed and matches the POSIX.1-2008 standard. Firstly, assignments are performed after the command is expanded. Therefore, an IFS= assignment preceding a command never affects word splitting of that command itself. Secondly, an assignment preceding a special built-in utility such as 'set' remains in effect after the command completes. This explains why the second and later commands work. You need to set IFS before word splitting and possibly restore it later, or use IFS=... read ... (where the assignment does affect read's splitting and does not persist after the command completes). -- You are receiving this mail because: You are the assignee for the bug.