Configuration Information [Automatically generated, do not change]: Machine: x86_64 OS: linux-gnu Compiler: gcc Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-unknown-linux-gnu' -DCONF_VENDOR='unknown' -DLOCALEDIR='/nix/store/mm631h09mj964hm9q04l5fd8vw12j1mm-bash-3.2-p39/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -g -O2 uname output: Linux mail.desk 2.6.25.17-default #1 SMP Tue Oct 7 23:48:14 UTC 2008 x86_64 GNU/Linux Machine Type: x86_64-unknown-linux-gnu
Bash Version: 3.2 Patch Level: 39 Release Status: release Description: I'd say eval "{" should have non zero exit status.. Maybe it should behave like this function and return exit status 1 ? eval(){ # does not work in sh e="$(type eval | { read; while read line; do echo $line; done })" # get this fuction text unset eval; # unset this function local evalSucc="failure" eval "evalSucc=ok;""$1" eval "$e" # define this function again [ $evalSucc = "failure" ] && return 1 }