From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 27 Jul 2018 15:36:07 +0300 From: Vladislav Zavjalov To: ALT Linux Team development discussions Message-ID: <20180727123607.GA9335@imap.altlinux.org> References: <20180723141158.GA21590@gyle.altlinux.org> <20180724112935.GC4931@altlinux.org> <20180724124549.GF29820@imap.altlinux.org> <514e71c8-30c7-3073-7023-45ee7a496a7b@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.23.88.hg577987ca2d02 (2014-03-12) Subject: Re: [devel] [#210675] EPERM bash.git=4.2.53-alt1 X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2018 12:36:08 -0000 Archived-At: List-Archive: List-Post: On Fri, Jul 27, 2018 at 03:30:52PM +0300, Alexey Tourbin wrote: > 2018-07-27 15:25 GMT+03:00 Paul Wolneykien : > > А через || можно переписать, или не сработает? > > > > (...) || rc=$? > > if/or отрубает режим -e внутри кода, у которого проверяется статус > возврата. Это известная багофича стандартного шелла, которая скорее > всего никогда не будет исправлена. Поэтому приходится извращаться. > > $ sh -e -c '(false; echo a)' > $ sh -e -c '(false; echo a) ||:' > a Ага, я когда-то придумывал загадку на эту тему. Угадайте результат, не запуская команды: $ sh -e -c '! true; echo OK' $ sh -e -c 'false; echo OK' $ sh -e -c 'false && false; echo OK' $ sh -e -c 'false && true; echo OK' $ sh -e -c 'true && false; echo OK'