[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: readonly changes set -e behavior

From: Eduardo Bustamante
Subject: Re: readonly changes set -e behavior
Date: Tue, 21 Feb 2017 16:30:39 -0600

On Tue, Feb 21, 2017 at 11:02 AM, Dennis Kuhn <address@hidden> wrote:
> When the variable s is set to readonly the script does not exit and echoes 
> "abc":
> #!/bin/bash
> set -e
> readonly s=$(false)
> echo "abc"

This is a commonly reported issue. The moment you add the readonly
builtin, you're no longer seeing the exit code from the command
substitution, but the exit code from readonly. See:

Command substitution and errexit
'declare' does not honor '-e' in command substituted assignments - a
http://lists.gnu.org/archive/html/bug-bash/2015-09/msg00109.html local
keyword hides return code of command substitution

One easy way to workaround this is to do:

s=$(...); readonly s

reply via email to

[Prev in Thread] Current Thread [Next in Thread]