[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Trap variable scope,
Nikolai Kondrashov <=