Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #14407

Re: declare(1) not executing inside source'd script

From Greg Wooledge <wooledg@eeg.ccf.org>
Newsgroups gnu.bash.bug
Subject Re: declare(1) not executing inside source'd script
Date 2018-07-27 10:17 -0400
Message-ID <mailman.4330.1532701029.1292.bug-bash@gnu.org> (permalink)
References <20180727042606.EFCD8120EA6@student.eeconsulting.net>

Show all headers | View raw


On Fri, Jul 27, 2018 at 12:26:06AM -0400, frank@eec.com wrote:
> Repeat-By:
> 	$ cat <<__EOF__ >/tmp/bashbug.bash
> 	> function myfunc {
> 	>     echo "Running..."
> 	> }
> 	> declare -fx myfunc
> 	> declare -p -F | grep "myfunc"
> 	> __EOF__
> 	$ source /tmp/bashbug.bash
> 
> 	The function is now defined, but is not exported.
> 	And the output of the last command never appears,
> 	but if the same command is executed now -- at
> 	the interactive shell prompt -- it does show that
> 	'myfunc' is defined.

I cannot reproduce this, either in Debian's bash 4.4, or in bash 5.0-alpha.

wooledg:~$ exec bash-5.0-alpha
wooledg:~$ cat foo
function myfunc {
  echo "Running"
}
declare -fx myfunc
declare -p -F | grep myfunc
wooledg:~$ source ./foo
declare -fx myfunc
wooledg:~$ bash -c myfunc
Running

On my system, I see the output from "declare -p -F" upon sourcing the
file, and the function is definitely exported.  I get the same results
using Debian's bash 4.4(.12) as well.

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

Re: declare(1) not executing inside source'd script Greg Wooledge <wooledg@eeg.ccf.org> - 2018-07-27 10:17 -0400

csiph-web