bug-bash
[Top][All Lists]
Advanced

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

Trap variable scope


From: Nikolai Kondrashov
Subject: Trap variable scope
Date: Fri, 02 Nov 2012 16:48:08 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.10) Gecko/20121027 Icedove/10.0.10

Hi everyone,

I've encountered a very strange behavior regarding variable scope and traps,
which looks very much like a bug.

This command:

echo '
    set -e;
    tt() { declare -r v=; };        t() { tt; };
    ff() { declare -r v=; false; }; f() { ff; };
    trap t EXIT;
    f
' | bash

produces this error message:
bash: line 3: declare: v: readonly variable

While this:

bash -c '
    set -e;
    tt() { declare -r v=; };        t() { tt; };
    ff() { declare -r v=; false; }; f() { ff; };
    trap t EXIT;
    f
'

doesn't. As don't these:

echo '
    set -e;
    tt() { declare -r v=; };        t() { tt; };
    ff() { declare -r v=; false; };
    trap t EXIT;
    ff
' | bash

echo '
    set -e;
    tt() { declare -r v=; };
    ff() { declare -r v=; false; }; f() { ff; };
    trap tt EXIT;
    f
' | bash

Could this indeed be a bug? If yes, can it be fixed?

Thank you.

Sincerely,
Nick



reply via email to

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