On Wed, Nov 19, 2014 at 11:05:51PM +0100, Piotr Grzybowski wrote:
> On Wed, Nov 19, 2014 at 10:51 PM, Eduardo A. Bustamante López
> <dual...@gmail.com> wrote:
> > is_defined3() {
> >     { declare -p -- "$1" && ! declare -fp -- "$1"; } 2>/dev/null >&2
> > }
> 
>  I dont know, but looks like a reusable code to me.

No, it fails if the argument is both a function AND a variable.

imadev:~$ is_defined3() { { declare -p -- "$1" && ! declare -fp -- "$1"; } 
2>/dev/null >&2; } 
imadev:~$ declare -p foo
bash: declare: foo: not found
imadev:~$ is_defined3 foo ; echo $?
1

So far, so good.  But....

imadev:~$ foo() { echo foo; }
imadev:~$ foo=bar
imadev:~$ is_defined3 foo ; echo $?
1

Reply via email to