[linux] Re: Wat nou? bash veranderd?

Robert M. Stockmann stock op stokkie.net
Do Jan 3 05:26:54 CET 2008


On Wed, 2 Jan 2008, Hans Paijmans wrote:

> Date: Wed, 02 Jan 2008 19:25:25 +0100
> From: Hans Paijmans <j.j.paijmans op uvt.nl>
> Reply-To: linux op lists.nllgg.nl
> To: linux op lists.nllgg.nl
> Subject: [linux] Wat nou? bash veranderd?
> 
> gegeven het volgende scriptje:
> 
> #!/bin/sh
> 
> function help()
> {
> echo "kut"
> }
> help
> 
> Op bash  3.2.25(3.2 geeft dit een foutmelding (unexpected '(').
> /Dat/ is leuk...

I denk dat er toch iets anders aan de hand is :

[jackson:stock]:(~/src/bash)$ gcc -v
Reading specs from /usr/lib64/gcc/x86_64-mandrake-linux-gnu/3.4.1/specs
Configured with: ../configure --prefix=/usr --libdir=/usr/lib64 --with-slibdir=/lib64 --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --enable-long-long --enable-__cxa_atexit --enable-clocale=gnu --disable-libunwind-exceptions --enable-languages=c,c++,ada,f77,objc,java --host=x86_64-mandrake-linux-gnu --with-system-zlib
Thread model: posix
gcc version 3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk)
[jackson:stock]:(~/src/bash)$ ls
bash32-001  bash32-006  bash32-011  bash32-016  bash32-021  bash-3.2.tar.gz
bash32-002  bash32-007  bash32-012  bash32-017  bash32-022  bash.patch
bash32-003  bash32-008  bash32-013  bash32-018  bash32-023  tt.sh
bash32-004  bash32-009  bash32-014  bash32-019  bash32-024
bash32-005  bash32-010  bash32-015  bash32-020  bash32-025
[jackson:stock]:(~/src/bash)$ tar xzf bash-3.2.tar.gz
[jackson:stock]:(~/src/bash)$ cd bash-3.2
[jackson:stock]:(~/src/bash/bash-3.2)$ echo $BASH_VERSION
3.00.16(1)-release
[jackson:stock]:(~/src/bash)$ tar xzf bash-3.2.tar.gz
[jackson:stock]:(~/src/bash)$ cd bash-3.2
[jackson:stock]:(~/src/bash/bash-3.2)$ for i in ../bash32-0??; do patch -p0 < $i; echo $i; done
patching file parse.y
patching file patchlevel.h
../bash32-001
patching file po/ru.po
patching file patchlevel.h
../bash32-002
patching file parse.y
patching file patchlevel.h
../bash32-003
patching file subst.c
patching file tests/new-exp.right
patching file patchlevel.h
../bash32-004
patching file builtins/printf.def
patching file lib/sh/snprintf.c
patching file patchlevel.h
../bash32-005
patching file lib/readline/display.c
patching file patchlevel.h
../bash32-006
patching file jobs.c
patching file patchlevel.h
../bash32-007
patching file findcmd.c
patching file patchlevel.h
../bash32-008
patching file lib/sh/snprintf.c
patching file patchlevel.h
../bash32-009
patching file pathexp.h
patching file pathexp.c
patching file subst.c
patching file execute_cmd.c
patching file patchlevel.h
../bash32-010
patching file configure.in
patching file config-bot.h
patching file builtins/common.c
patching file configure
patching file patchlevel.h
../bash32-011
patching file config.h.in
patching file builtins/printf.def
patching file patchlevel.h
../bash32-012
patching file lib/readline/display.c
patching file patchlevel.h
../bash32-013
patching file array.c
patching file array.h
patching file subst.c
patching file patchlevel.h
../bash32-014
patching file execute_cmd.c
patching file subst.c
Hunk #1 succeeded at 4166 (offset 15 lines).
Hunk #2 succeeded at 4221 (offset 15 lines).
Hunk #3 succeeded at 4742 (offset 23 lines).
patching file subst.h
patching file patchlevel.h
../bash32-015
patching file lib/readline/display.c
patching file patchlevel.h
../bash32-016
patching file lib/readline/display.c
patching file patchlevel.h
../bash32-017
patching file jobs.c
patching file patchlevel.h
../bash32-018
patching file lib/readline/complete.c
patching file lib/readline/input.c
patching file lib/readline/isearch.c
patching file lib/readline/misc.c
patching file lib/readline/readline.c
patching file lib/readline/text.c
patching file lib/readline/vi_mode.c
patching file patchlevel.h
../bash32-019
patching file sig.c
patching file sig.h
patching file builtins/common.c
patching file subst.c
patching file arrayfunc.c
patching file expr.c
patching file variables.c
patching file patchlevel.h
../bash32-020
patching file parse.y
patching file patchlevel.h
../bash32-021
patching file builtins/read.def
patching file patchlevel.h
../bash32-022
patching file subst.c
patching file patchlevel.h
../bash32-023
patching file lib/readline/display.c
patching file patchlevel.h
../bash32-024
patching file lib/readline/input.c
patching file patchlevel.h
../bash32-025
[jackson:stock]:(~/src/bash/bash-3.2)$ ./configure 
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for emacs... emacs
checking where .elc files should go... Loading /etc/emacs/site-start.d/autoconf2.5.el (source)...
Loading /etc/emacs/site-start.d/gettext.el (source)...
Loading /etc/emacs/site-start.d/python.el (source)...
Loading /etc/emacs/site-start.d/rpm.el (source)...
${datadir}/emacs/site-lisp

Beginning configuration for bash-3.2-release for x86_64-unknown-linux-gnu

checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
 ...
 ...
 ...
checking shared object configuration for loadable builtins... supported
configure: creating ./config.status
config.status: creating Makefile
config.status: creating builtins/Makefile
config.status: creating lib/readline/Makefile
config.status: creating lib/glob/Makefile
config.status: creating lib/intl/Makefile
config.status: creating lib/malloc/Makefile
config.status: creating lib/sh/Makefile
config.status: creating lib/termcap/Makefile
config.status: creating lib/tilde/Makefile
config.status: creating doc/Makefile
config.status: creating support/Makefile
config.status: creating po/Makefile.in
config.status: creating examples/loadables/Makefile
config.status: creating examples/loadables/perl/Makefile
config.status: creating pathnames.h
config.status: creating config.h
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing default commands
[jackson:stock]:(~/src/bash/bash-3.2)$ make
bison -y -d ./parse.y
conflicts: 1 shift/reduce
touch parser-built
rm -f mksyntax
gcc  -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"x86_64"' -DCONF_OSTYPE='"linux-gnu"' -DCONF_MACHTYPE='"x86_64-unknown-linux-gnu"' -DCONF_VENDOR='"unknown"' -DLOCALEDIR='"/usr/local/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib   -g  -o mksyntax ./mksyntax.c 
rm -f syntax.c
./mksyntax -o syntax.c
/bin/sh ./support/mkversion.sh -b -S . -s release -d 3.2 -o newversion.h \
&& mv newversion.h version.h
gcc  -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"x86_64"' -DCONF_OSTYPE='"linux-gnu"' -DCONF_MACHTYPE='"x86_64-unknown-linux-gnu"' -DCONF_VENDOR='"unknown"' -DLOCALEDIR='"/usr/local/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib   -g  -DBUILDTOOL -c -o buildversion.o ./version.c
gcc  -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"x86_64"' -DCONF_OSTYPE='"linux-gnu"' -DCONF_MACHTYPE='"x86_64-unknown-linux-gnu"' -DCONF_VENDOR='"unknown"' -DLOCALEDIR='"/usr/local/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib   -g  -o bashversion ./support/bashversion.c buildversion.o 

          ***********************************************************
          *                                                         *
          * GNU bash, version 3.2.25(1)-release (x86_64-unknown-linux-gnu)
          *                                                         *
          ***********************************************************

rm -f shell.o
gcc  -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"x86_64"' -DCONF_OSTYPE='"linux-gnu"' -DCONF_MACHTYPE='"x86_64-unknown-linux-gnu"' -DCONF_VENDOR='"unknown"' -DLOCALEDIR='"/usr/local/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib   -g -O2 -c shell.c
rm -f eval.o
 ...
 ...
 ...
ar cr libmalloc.a malloc.o  trace.o stats.o table.o watch.o
test -n "ranlib" && ranlib libmalloc.a
make[1]: Leaving directory `/home/stock/src/bash/bash-3.2/lib/malloc'
rm -f bash
gcc -L./builtins -L./lib/readline -L./lib/readline -L./lib/glob -L./lib/tilde -L./lib/malloc -L./lib/sh  -rdynamic  -g -O2 -o bash shell.o eval.o y.tab.o general.o make_cmd.o print_cmd.o  dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o expr.o flags.o jobs.o subst.o hashcmd.o hashlib.o mailcheck.o trap.o input.o unwind_prot.o pathexp.o sig.o test.o version.o alias.o array.o arrayfunc.o braces.o bracecomp.o bashhist.o bashline.o  list.o stringlib.o locale.o findcmd.o redir.o pcomplete.o pcomplib.o syntax.o xmalloc.o  -lbuiltins -lsh -lreadline -lhistory -ltermcap -lglob -ltilde -lmalloc   -ldl 
ls -l bash
-rwxr-xr-x  1 stock stock 1768570 Jan  3 05:23 bash
size bash
   text    data     bss     dec     hex filename
 747024   43760   22504  813288   c68e8 bash
[jackson:stock]:(~/src/bash/bash-3.2)$ 
[jackson:stock]:(~/src/bash/bash-3.2)$ ll bash
-rwxr-xr-x  1 stock stock 1768570 Jan  3 05:23 bash*
[jackson:stock]:(~/src/bash/bash-3.2)$ ./bash
[jackson:stock]:(~/src/bash/bash-3.2)$ echo $BASH_VERSION
3.2.25(1)-release
[jackson:stock]:(~/src/bash/bash-3.2)$ cat ../tt.sh 
#!/bin/sh

function help()
{
echo "kut"
}
help
[jackson:stock]:(~/src/bash/bash-3.2)$ 
[jackson:stock]:(~/src/bash/bash-3.2)$ ./bash ../tt.sh 
kut
[jackson:stock]:(~/src/bash/bash-3.2)$

Dus er is bij jou wat anders aan de hand.

Vr.gr.

Robert
-- 
Robert M. Stockmann - RHCE
Network Engineer - UNIX/Linux Specialist
crashrecovery.org  stock op stokkie.net




More information about the Linux mailing list