POC详情: ebbbdb146a280e912e8c85d169752b081507831d

来源
关联漏洞
标题: GNU Bash 远程代码执行漏洞 (CVE-2014-6271)
描述:GNU Bash是美国软件开发者布莱恩-福克斯(Brian J. Fox)为GNU计划而编写的一个Shell(命令语言解释器),它运行于类Unix操作系统中(Linux系统的默认Shell),并能够从标准输入设备或文件中读取、执行命令,同时也结合了一部分ksh和csh的特点。 GNU Bash 4.3及之前版本中存在安全漏洞,该漏洞源于程序没有正确处理环境变量值内的函数定义。远程攻击者可借助特制的环境变量利用该漏洞执行任意代码。以下产品和模块可能会被利用:OpenSSH sshd中的ForceComman
描述
patched-bash-4.3 for CVE-2014-6271
介绍
patched-bash-4.3
================

patched-bash-4.3 for CVE-2014-6271


This is just bash 4.3 , pulled from the gnu website, and patched with the patches available on 9/26/2014, including the pkgsrc functionality changes that just disable the silly "execute functions in env variables" altogether.

The patches are also included here, but I've already applied them to the sourcecode (for those unfamiliar with the ```patch``` command)

Don't use this, if you don't know and trust me.  Build it yourself.

I'm putting this on github so I can point friends and co-workers here.

#### For hotpatching this in a SmartOS zone (like in JPC):

- clone this repo

``` git clone https://github.com/ryancnelson/patched-bash-4.3 ```

- ```cd bash-4.3```
- ```make clean ; ./configure ; make ; make install ```
- look at 
```
/usr/local/bin/bash --version 
GNU bash, version 4.3.25(1)-release (i386-pc-solaris2.11)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

```

- mount this file, using the lofs mount trick , ON TOP of /usr/bin/bash :
  - you may need to reboot to kill off any currently running bash shells
  - after reboot, log back in, and run ``` exec /bin/sh ``` to confirm you're not using bash at the moment.
  - ``` ps -ef | grep bash ``` should return nothing.
  - then, mount /usr/local/bin/bash over /usr/bin/bash with: ```mount -O -F lofs /usr/local/bin/bash /usr/bin/bash ```
  - this lofs mount is not permanent.  re-do after reboots, or wait for a patched platform image.

- confirm that ```/usr/bin/bash --version ``` returns the new 4.3 version you expect after the ```lofs mount``` command


### for extra credit:

If you're interested, in SmartOS, in watching your system to see when ```bash``` is executed, you can, using DTrace:
run this at your command line: 
```
dtrace -n 'proc:::exec-success /basename(execname)=="bash"/ {printf("%d executed %s\n", ppid, execname);}'
```
... then, log in again, or spawn some bash shells.  You should see lines like:
```
CPU     ID                    FUNCTION:NAME
  1  11422         exec_common:exec-success 91178 executed bash
```

... this'll let you know whether your application(s) are forking bash under the covers, unbeknownst to you, as part of their normal operations, and whether you're exposed to external intruders being able to spawn bash and exploit it, remotely.

文件快照

[4.0K] /data/pocs/ebbbdb146a280e912e8c85d169752b081507831d ├── [4.0K] bash-4.3 │   ├── [ 38K] ABOUT-NLS │   ├── [131K] aclocal.m4 │   ├── [ 15K] alias.c │   ├── [2.1K] alias.h │   ├── [ 24K] array.c │   ├── [ 28K] arrayfunc.c │   ├── [ 28K] arrayfunc.c.orig │   ├── [2.8K] arrayfunc.h │   ├── [3.9K] array.h │   ├── [ 11K] assoc.c │   ├── [2.2K] assoc.h │   ├── [ 17K] AUTHORS │   ├── [1.2K] bashansi.h │   ├── [ 24K] bashhist.c │   ├── [2.4K] bashhist.h │   ├── [1.3K] bashintl.h │   ├── [1.5K] bashjmp.h │   ├── [114K] bashline.c │   ├── [114K] bashline.c.orig │   ├── [2.0K] bashline.h │   ├── [1.1K] bashtypes.h │   ├── [5.7K] bracecomp.c │   ├── [ 20K] braces.c │   ├── [4.0K] builtins │   │   ├── [4.9K] alias.def │   │   ├── [4.4K] bashgetopt.c │   │   ├── [1.2K] bashgetopt.h │   │   ├── [8.2K] bind.def │   │   ├── [3.3K] break.def │   │   ├── [2.2K] builtin.def │   │   ├── [4.1K] caller.def │   │   ├── [ 16K] cd.def │   │   ├── [1.4K] colon.def │   │   ├── [5.9K] command.def │   │   ├── [ 19K] common.c │   │   ├── [6.5K] common.h │   │   ├── [6.4K] common.h.orig │   │   ├── [ 21K] complete.def │   │   ├── [ 20K] declare.def │   │   ├── [4.8K] echo.def │   │   ├── [ 12K] enable.def │   │   ├── [1.6K] eval.def │   │   ├── [8.9K] evalfile.c │   │   ├── [ 16K] evalstring.c │   │   ├── [ 16K] evalstring.c.orig │   │   ├── [6.0K] exec.def │   │   ├── [4.3K] exit.def │   │   ├── [ 18K] fc.def │   │   ├── [4.1K] fg_bg.def │   │   ├── [4.8K] gen-helpfiles.c │   │   ├── [8.1K] getopt.c │   │   ├── [2.1K] getopt.h │   │   ├── [8.2K] getopts.def │   │   ├── [6.5K] hash.def │   │   ├── [ 12K] help.def │   │   ├── [ 10K] history.def │   │   ├── [2.1K] inlib.def │   │   ├── [7.0K] jobs.def │   │   ├── [6.1K] kill.def │   │   ├── [3.3K] let.def │   │   ├── [ 33K] Makefile │   │   ├── [ 34K] Makefile.in │   │   ├── [9.4K] mapfile.def │   │   ├── [ 40K] mkbuiltins.c │   │   ├── [ 27K] printf.def │   │   ├── [1.6K] psize.c │   │   ├── [1.0K] psize.sh │   │   ├── [ 20K] pushd.def │   │   ├── [ 27K] read.def │   │   ├── [ 27K] read.def.orig │   │   ├── [9.8K] reserved.def │   │   ├── [2.1K] return.def │   │   ├── [ 13K] setattr.def │   │   ├── [ 24K] set.def │   │   ├── [2.5K] shift.def │   │   ├── [ 19K] shopt.def │   │   ├── [5.7K] source.def │   │   ├── [2.9K] suspend.def │   │   ├── [4.8K] test.def │   │   ├── [2.7K] times.def │   │   ├── [8.0K] trap.def │   │   ├── [ 10K] type.def │   │   ├── [ 19K] ulimit.def │   │   ├── [6.9K] umask.def │   │   └── [5.3K] wait.def │   ├── [2.2K] builtins.h │   ├── [ 14] ChangeLog -> CWRU/changelog │   ├── [308K] CHANGES │   ├── [ 14K] command.h │   ├── [ 19K] COMPAT │   ├── [6.3K] config-bot.h │   ├── [ 30K] config.h │   ├── [ 29K] config.h.in │   ├── [570K] config.log │   ├── [ 44K] config.status │   ├── [5.3K] config-top.h │   ├── [460K] configure │   ├── [ 37K] configure.ac │   ├── [1.7K] conftypes.h │   ├── [ 12K] copy_cmd.c │   ├── [ 34K] COPYING │   ├── [4.0K] cross-build │   │   ├── [ 13K] cygwin32.cache │   │   ├── [8.4K] opennt.cache │   │   └── [2.0K] x86-beos.cache │   ├── [4.0K] CWRU │   │   ├── [212K] changelog │   │   ├── [4.0K] misc │   │   │   ├── [ 823] bison │   │   │   ├── [1.2K] errlist.c │   │   │   ├── [1.9K] hpux10-dlfcn.h │   │   │   ├── [1.1K] open-files.c │   │   │   ├── [1.2K] sigs.c │   │   │   └── [6.1K] sigstat.c │   │   ├── [ 454] PLATFORMS │   │   ├── [ 550] README │   │   └── [ 358] sh-redir-hack │   ├── [6.2K] dispose_cmd.c │   ├── [1.4K] dispose_cmd.h │   ├── [4.0K] doc │   │   ├── [150K] aosa-bash.pdf │   │   ├── [ 41K] article.ms │   │   ├── [ 48K] article.pdf │   │   ├── [ 80K] article.ps │   │   ├── [ 47K] article.txt │   │   ├── [386K] bash.0 │   │   ├── [292K] bash.1 │   │   ├── [2.2K] bashbug.0 │   │   ├── [1.8K] bashbug.1 │   │   ├── [8.8K] bashbug.ps │   │   ├── [322K] bash.html │   │   ├── [475K] bash.info │   │   ├── [305K] bash.pdf │   │   ├── [549K] bash.ps │   │   ├── [705K] bashref.dvi │   │   ├── [822K] bashref.html │   │   ├── [475K] bashref.info │   │   ├── [453K] bashref.pdf │   │   ├── [1.2M] bashref.ps │   │   ├── [311K] bashref.texi │   │   ├── [123K] builtins.0 │   │   ├── [ 873] builtins.1 │   │   ├── [173K] builtins.ps │   │   ├── [ 97K] FAQ │   │   ├── [ 23K] fdl.texi │   │   ├── [ 22K] fdl.txt │   │   ├── [1.1K] htmlpost.sh │   │   ├── [ 217] infopost.sh │   │   ├── [6.9K] INTRO │   │   ├── [8.3K] Makefile │   │   ├── [8.3K] Makefile.in │   │   ├── [2.3K] rbash.0 │   │   ├── [ 156] rbash.1 │   │   ├── [8.7K] rbash.ps │   │   ├── [1.1K] README │   │   ├── [223K] rose94.pdf │   │   ├── [ 99K] rose94.ps │   │   ├── [318K] texinfo.tex │   │   └── [ 218] version.texi │   ├── [9.7K] error.c │   ├── [2.8K] error.h │   ├── [7.0K] eval.c │   ├── [4.0K] examples │   │   ├── [4.0K] complete │   │   │   ├── [4.5K] bashcc-1.0.1.tar.gz │   │   │   ├── [211K] bash_completion │   │   │   ├── [2.4K] cdfunc │   │   │   └── [ 12K] complete-examples │   │   ├── [4.0K] functions │   │   │   ├── [2.4K] array-stuff │   │   │   ├── [ 340] array-to-string │   │   │   ├── [2.8K] autoload │   │   │   ├── [3.9K] autoload.v2 │   │   │   ├── [2.6K] autoload.v3 │   │   │   ├── [ 645] basename │   │   │   ├── [ 834] csh-compat │   │   │   ├── [ 573] dirname │   │   │   ├── [ 620] exitstat │   │   │   ├── [1.3K] external │   │   │   ├── [ 309] fact │   │   │   ├── [1.8K] fstty │   │   │   ├── [1.2K] func │   │   │   ├── [1.7K] inetaddr │   │   │   ├── [ 186] inpath │   │   │   ├── [1.2K] isnum2 │   │   │   ├── [ 301] isvalidip │   │   │   ├── [1.4K] ksh-cd │   │   │   ├── [1.9K] ksh-compat-test │   │   │   ├── [5.0K] kshenv │   │   │   ├── [ 127] login │   │   │   ├── [1.5K] notify.bash │   │   │   ├── [1.3K] seq │   │   │   ├── [1.6K] seq2 │   │   │   ├── [ 57] shcat │   │   │   ├── [ 174] shcat2 │   │   │   ├── [1.7K] sort-pos-params │   │   │   ├── [1.9K] substr │   │   │   ├── [2.1K] substr2 │   │   │   ├── [1.8K] whatis │   │   │   ├── [1.7K] whence │   │   │   └── [1.6K] which │   │   ├── [ 20K] INDEX.html │   │   ├── [ 12K] INDEX.txt │   │   ├── [4.0K] loadables │   │   │   ├── [3.4K] basename.c │   │   │   ├── [2.2K] cat.c │   │   │   ├── [3.1K] dirname.c │   │   │   ├── [ 12K] finfo.c │   │   │   ├── [3.5K] head.c │   │   │   ├── [2.7K] hello.c │   │   │   ├── [6.2K] id.c │   │   │   ├── [5.1K] ln.c │   │   │   ├── [1.6K] logname.c │   │   │   ├── [6.5K] Makefile │   │   │   ├── [6.5K] Makefile.in │   │   │   ├── [5.7K] mkdir.c │   │   │   ├── [1.4K] mypid.c │   │   │   ├── [1.3K] necho.c │   │   │   ├── [9.7K] pathchk.c │   │   │   ├── [4.0K] perl │   │   │   │   ├── [ 616] bperl.c │   │   │   │   ├── [ 551] iperl.c │   │   │   │   ├── [2.5K] Makefile │   │   │   │   ├── [2.5K] Makefile.in │   │   │   │   └── [ 294] README │   │   │   ├── [3.7K] print.c │   │   │   ├── [2.0K] printenv.c │   │   │   ├── [2.7K] push.c │   │   │   ├── [2.9K] README │   │   │   ├── [3.3K] realpath.c │   │   │   ├── [1.9K] rmdir.c │   │   │   ├── [2.1K] sleep.c │   │   │   ├── [3.2K] strftime.c │   │   │   ├── [1.4K] sync.c │   │   │   ├── [4.1K] tee.c │   │   │   ├── [1.1K] template.c │   │   │   ├── [1.4K] truefalse.c │   │   │   ├── [2.1K] tty.c │   │   │   ├── [3.1K] uname.c │   │   │   ├── [1.8K] unlink.c │   │   │   └── [1.5K] whoami.c │   │   ├── [4.0K] misc │   │   │   ├── [ 981] aliasconv.bash │   │   │   ├── [ 973] aliasconv.sh │   │   │   └── [3.3K] cshtobash │   │   ├── [4.0K] scripts │   │   │   ├── [ 114] cat.sh │   │   │   ├── [1.1K] center │   │   │   ├── [ 296] inpath │   │   │   ├── [2.9K] shprompt │   │   │   ├── [1.0K] spin.bash │   │   │   ├── [1.2K] xterm_title │   │   │   └── [1.2K] zprintf │   │   └── [4.0K] startup-files │   │   ├── [1.1K] Bash_aliases │   │   ├── [ 887] bash-profile │   │   ├── [ 339] Bash_profile │   │   ├── [1.6K] bashrc │   │   ├── [1.7K] Bashrc.bfox │   │   └── [ 500] README │   ├── [147K] execute_cmd.c │   ├── [147K] execute_cmd.c.orig │   ├── [2.4K] execute_cmd.h │   ├── [ 32K] expr.c │   ├── [ 18K] externs.h │   ├── [ 18K] externs.h.orig │   ├── [ 17K] findcmd.c │   ├── [1.3K] findcmd.h │   ├── [ 10K] flags.c │   ├── [2.3K] flags.h │   ├── [ 27K] general.c │   ├── [10.0K] general.h │   ├── [5.1K] hashcmd.c │   ├── [1.4K] hashcmd.h │   ├── [9.7K] hashlib.c │   ├── [3.0K] hashlib.h │   ├── [4.0K] include │   │   ├── [1.4K] ansi_stdlib.h │   │   ├── [3.8K] chartypes.h │   │   ├── [1.5K] filecntl.h │   │   ├── [2.9K] gettext.h │   │   ├── [2.1K] maxpath.h │   │   ├── [1.9K] memalloc.h │   │   ├── [3.6K] ocache.h │   │   ├── [2.3K] posixdir.h │   │   ├── [1.3K] posixjmp.h │   │   ├── [1.3K] posixselect.h │   │   ├── [4.2K] posixstat.h │   │   ├── [1.5K] posixtime.h │   │   ├── [3.0K] posixwait.h │   │   ├── [ 14K] shmbchar.h │   │   ├── [ 12K] shmbutil.h │   │   ├── [3.6K] shtty.h │   │   ├── [5.9K] stat-time.h │   │   ├── [2.3K] stdc.h │   │   ├── [1.7K] systimes.h │   │   ├── [2.6K] typemax.h │   │   └── [2.9K] unionwait.h │   ├── [ 16K] input.c │   ├── [4.3K] input.h │   ├── [ 17K] INSTALL │   ├── [116K] jobs.c │   ├── [116K] jobs.c.orig │   ├── [8.5K] jobs.h │   ├── [4.0K] lib │   │   ├── [4.0K] glob │   │   │   ├── [4.4K] collsyms.h │   │   │   ├── [4.0K] doc │   │   │   │   ├── [ 22] glob.texi │   │   │   │   └── [ 101] Makefile │   │   │   ├── [ 35K] glob.c │   │   │   ├── [ 35K] glob.c.orig │   │   │   ├── [1.6K] glob.h │   │   │   ├── [1.7K] glob_loop.c │   │   │   ├── [7.9K] gmisc.c │   │   │   ├── [7.3K] gmisc.c.orig │   │   │   ├── [4.5K] Makefile │   │   │   ├── [4.6K] Makefile.in │   │   │   ├── [1.3K] ndir.h │   │   │   ├── [9.5K] smatch.c │   │   │   ├── [ 22K] sm_loop.c │   │   │   ├── [1.8K] strmatch.c │   │   │   ├── [2.1K] strmatch.h │   │   │   └── [9.6K] xmbsrtowcs.c │   │   ├── [4.0K] intl │   │   │   ├── [9.8K] bindtextdom.c │   │   │   ├── [ 73] ChangeLog │   │   │   ├── [ 14K] config.charset │   │   │   ├── [1.8K] dcgettext.c │   │   │   ├── [ 33K] dcigettext.c │   │   │   ├── [1.8K] dcngettext.c │   │   │   ├── [1.7K] dgettext.c │   │   │   ├── [1.9K] dngettext.c │   │   │   ├── [2.8K] eval-plural.h │   │   │   ├── [4.5K] explodename.c │   │   │   ├── [5.5K] finddomain.c │   │   │   ├── [1.8K] gettext.c │   │   │   ├── [6.6K] gettextP.h │   │   │   ├── [4.6K] gmo.h │   │   │   ├── [1.8K] hash-string.h │   │   │   ├── [3.5K] intl-compat.c │   │   │   ├── [ 12K] l10nflist.c │   │   │   ├── [ 11K] libgnuintl.h.in │   │   │   ├── [5.9K] loadinfo.h │   │   │   ├── [ 34K] loadmsgcat.c │   │   │   ├── [ 10K] localcharset.c │   │   │   ├── [1.3K] localcharset.h │   │   │   ├── [2.6K] locale.alias │   │   │   ├── [9.8K] localealias.c │   │   │   ├── [ 22K] localename.c │   │   │   ├── [2.7K] log.c │   │   │   ├── [ 15K] Makefile │   │   │   ├── [ 15K] Makefile.in │   │   │   ├── [1.9K] ngettext.c │   │   │   ├── [2.8K] os2compat.c │   │   │   ├── [1.5K] os2compat.h │   │   │   ├── [ 886] osdep.c │   │   │   ├── [ 41K] plural.c │   │   │   ├── [3.9K] plural-exp.c │   │   │   ├── [4.2K] plural-exp.h │   │   │   ├── [7.9K] plural.y │   │   │   ├── [1007] ref-add.sin │   │   │   ├── [ 962] ref-del.sin │   │   │   ├── [ 12K] relocatable.c │   │   │   ├── [2.5K] relocatable.h │   │   │   ├── [4.4K] textdomain.c │   │   │   └── [ 40] VERSION │   │   ├── [4.0K] malloc │   │   │   ├── [ 14K] alloca.c │   │   │   ├── [1.9K] getpagesize.h │   │   │   ├── [ 269] i386-alloca.s │   │   │   ├── [5.0K] imalloc.h │   │   │   ├── [3.6K] Makefile │   │   │   ├── [3.6K] Makefile.in │   │   │   ├── [ 34K] malloc.c │   │   │   ├── [3.7K] mstats.h │   │   │   ├── [2.1K] shmalloc.h │   │   │   ├── [4.9K] stats.c │   │   │   ├── [ 768] stub.c │   │   │   ├── [7.0K] table.c │   │   │   ├── [3.4K] table.h │   │   │   ├── [2.6K] trace.c │   │   │   ├── [3.3K] watch.c │   │   │   ├── [1.2K] watch.h │   │   │   ├── [1.7K] x386-alloca.s │   │   │   ├── [ 968] xleaktrace │   │   │   └── [2.2K] xmalloc.c │   │   ├── [4.0K] readline │   │   │   ├── [1.4K] ansi_stdlib.h │   │   │   ├── [ 59K] bind.c │   │   │   ├── [7.9K] callback.c │   │   │   ├── [ 14K] ChangeLog │   │   │   ├── [4.5K] chardefs.h │   │   │   ├── [6.9K] colors.c │   │   │   ├── [3.4K] colors.h │   │   │   ├── [2.4K] compat.c │   │   │   ├── [ 83K] complete.c │   │   │   ├── [ 34K] COPYING │   │   │   ├── [ 85K] display.c │   │   │   ├── [ 85K] display.c.orig │   │   │   ├── [4.0K] doc │   │   │   │   ├── [ 23K] fdl.texi │   │   │   │   ├── [2.2K] history.texi │   │   │   │   ├── [ 20K] hstech.texi │   │   │   │   ├── [ 16K] hsuser.texi │   │   │   │   ├── [3.8K] Makefile │   │   │   │   ├── [2.3K] rlman.texi │   │   │   │   ├── [ 94K] rltech.texi │   │   │   │   ├── [2.0K] rluserman.texi │   │   │   │   ├── [ 80K] rluser.texi │   │   │   │   └── [ 217] version.texi │   │   │   ├── [ 37K] emacs_keymap.c │   │   │   ├── [4.0K] examples │   │   │   │   ├── [5.7K] excallback.c │   │   │   │   ├── [ 11K] fileman.c │   │   │   │   ├── [2.8K] histexamp.c │   │   │   │   ├── [2.3K] Inputrc │   │   │   │   ├── [1.3K] Makefile │   │   │   │   ├── [3.2K] manexamp.c │   │   │   │   ├── [3.1K] rl.c │   │   │   │   ├── [1.9K] rl-callbacktest.c │   │   │   │   ├── [3.2K] rlcat.c │   │   │   │   └── [2.1K] rltest.c │   │   │   ├── [9.1K] funmap.c │   │   │   ├── [ 40K] histexpand.c │   │   │   ├── [ 14K] histfile.c │   │   │   ├── [2.3K] histlib.h │   │   │   ├── [ 12K] history.c │   │   │   ├── [9.8K] history.h │   │   │   ├── [4.8K] histsearch.c │   │   │   ├── [ 14K] input.c │   │   │   ├── [ 14K] input.c.orig │   │   │   ├── [ 23K] isearch.c │   │   │   ├── [3.7K] keymaps.c │   │   │   ├── [3.1K] keymaps.h │   │   │   ├── [ 15K] kill.c │   │   │   ├── [7.3K] macro.c │   │   │   ├── [ 12K] Makefile │   │   │   ├── [ 12K] Makefile.in │   │   │   ├── [8.8K] mbutil.c │   │   │   ├── [ 16K] misc.c │   │   │   ├── [ 16K] misc.c.orig │   │   │   ├── [6.5K] nls.c │   │   │   ├── [4.4K] parens.c │   │   │   ├── [ 13K] parse-colors.c │   │   │   ├── [1.5K] parse-colors.h │   │   │   ├── [2.3K] posixdir.h │   │   │   ├── [1.3K] posixjmp.h │   │   │   ├── [1.3K] posixselect.h │   │   │   ├── [4.2K] posixstat.h │   │   │   ├── [ 37K] readline.c │   │   │   ├── [ 37K] readline.c.orig │   │   │   ├── [ 37K] readline.h │   │   │   ├── [ 276] README │   │   │   ├── [2.4K] rlconf.h │   │   │   ├── [4.8K] rldefs.h │   │   │   ├── [5.2K] rlmbutil.h │   │   │   ├── [ 16K] rlprivate.h │   │   │   ├── [1.2K] rlshell.h │   │   │   ├── [1.8K] rlstdc.h │   │   │   ├── [ 22K] rltty.c │   │   │   ├── [2.5K] rltty.h │   │   │   ├── [2.6K] rltypedefs.h │   │   │   ├── [2.2K] rlwinsize.h │   │   │   ├── [1.3K] savestring.c │   │   │   ├── [ 16K] search.c │   │   │   ├── [4.7K] shell.c │   │   │   ├── [ 18K] signals.c │   │   │   ├── [ 130] STANDALONE │   │   │   ├── [1.5K] tcap.h │   │   │   ├── [ 20K] terminal.c │   │   │   ├── [ 37K] text.c │   │   │   ├── [ 13K] tilde.c │   │   │   ├── [3.0K] tilde.h │   │   │   ├── [7.4K] undo.c │   │   │   ├── [ 12K] util.c │   │   │   ├── [ 36K] vi_keymap.c │   │   │   ├── [ 47K] vi_mode.c │   │   │   ├── [1.5K] xfree.c │   │   │   ├── [2.0K] xmalloc.c │   │   │   └── [1.3K] xmalloc.h │   │   ├── [4.0K] sh │   │   │   ├── [6.2K] casemod.c │   │   │   ├── [1.5K] clktck.c │   │   │   ├── [1.9K] clock.c │   │   │   ├── [1.5K] dprintf.c │   │   │   ├── [6.1K] eaccess.c │   │   │   ├── [ 962] fmtullong.c │   │   │   ├── [3.9K] fmtulong.c │   │   │   ├── [ 908] fmtumax.c │   │   │   ├── [3.9K] fnxform.c │   │   │   ├── [7.8K] fpurge.c │   │   │   ├── [7.5K] getcwd.c │   │   │   ├── [4.8K] getenv.c │   │   │   ├── [6.2K] inet_aton.c │   │   │   ├── [2.3K] input_avail.c │   │   │   ├── [2.0K] itos.c │   │   │   ├── [4.2K] mailstat.c │   │   │   ├── [ 21K] Makefile │   │   │   ├── [ 21K] Makefile.in │   │   │   ├── [3.2K] makepath.c │   │   │   ├── [1.9K] mbscasecmp.c │   │   │   ├── [2.2K] mbschr.c │   │   │   ├── [1.8K] mbscmp.c │   │   │   ├── [ 930] memset.c │   │   │   ├── [ 12K] mktime.c │   │   │   ├── [2.4K] netconn.c │   │   │   ├── [7.2K] netopen.c │   │   │   ├── [6.2K] oslib.c │   │   │   ├── [5.9K] pathcanon.c │   │   │   ├── [6.7K] pathphys.c │   │   │   ├── [1.6K] rename.c │   │   │   ├── [1.6K] setlinebuf.c │   │   │   ├── [3.0K] shmatch.c │   │   │   ├── [2.4K] shmbchar.c │   │   │   ├── [7.6K] shquote.c │   │   │   ├── [7.5K] shquote.c.orig │   │   │   ├── [5.9K] shtty.c │   │   │   ├── [ 51K] snprintf.c │   │   │   ├── [4.5K] spell.c │   │   │   ├── [1.9K] strcasecmp.c │   │   │   ├── [1.4K] strcasestr.c │   │   │   ├── [1.0K] strchrnul.c │   │   │   ├── [1.2K] strdup.c │   │   │   ├── [1.7K] strerror.c │   │   │   ├── [ 24K] strftime.c │   │   │   ├── [5.8K] stringlist.c │   │   │   ├── [5.4K] stringvec.c │   │   │   ├── [1.3K] strnlen.c │   │   │   ├── [1.3K] strpbrk.c │   │   │   ├── [2.7K] strstr.c │   │   │   ├── [4.5K] strtod.c │   │   │   ├── [2.6K] strtoimax.c │   │   │   ├── [5.8K] strtol.c │   │   │   ├── [ 998] strtoll.c │   │   │   ├── [ 953] strtoul.c │   │   │   ├── [1.0K] strtoull.c │   │   │   ├── [2.8K] strtoumax.c │   │   │   ├── [8.4K] strtrans.c │   │   │   ├── [2.0K] times.c │   │   │   ├── [3.4K] timeval.c │   │   │   ├── [4.8K] tmpfile.c │   │   │   ├── [2.7K] uconvert.c │   │   │   ├── [2.4K] ufuncs.c │   │   │   ├── [7.0K] unicode.c │   │   │   ├── [1.9K] vprint.c │   │   │   ├── [1.2K] wcsdup.c │   │   │   ├── [1.6K] wcsnwidth.c │   │   │   ├── [1.2K] wcswidth.c │   │   │   ├── [2.7K] winsize.c │   │   │   ├── [1.5K] zcatfd.c │   │   │   ├── [2.9K] zgetline.c │   │   │   ├── [1.9K] zmapfd.c │   │   │   ├── [4.1K] zread.c │   │   │   └── [1.5K] zwrite.c │   │   ├── [4.0K] termcap │   │   │   ├── [ 931] ltcap.h │   │   │   ├── [2.2K] Makefile │   │   │   ├── [2.2K] Makefile.in │   │   │   ├── [ 17K] termcap.c │   │   │   ├── [1.6K] termcap.h │   │   │   ├── [7.8K] tparam.c │   │   │   └── [ 934] version.c │   │   └── [4.0K] tilde │   │   ├── [3.2K] Makefile │   │   ├── [3.3K] Makefile.in │   │   ├── [ 228] README │   │   ├── [2.0K] shell.c │   │   ├── [ 13K] tilde.c │   │   └── [3.0K] tilde.h │   ├── [3.4K] list.c │   ├── [ 14K] locale.c │   ├── [4.0K] m4 │   │   ├── [2.2K] stat-time.m4 │   │   └── [2.6K] timespec.m4 │   ├── [ 11K] mailcheck.c │   ├── [1.3K] mailcheck.h │   ├── [ 22K] make_cmd.c │   ├── [2.9K] make_cmd.h │   ├── [ 76K] Makefile │   ├── [ 77K] Makefile.in │   ├── [ 27K] MANIFEST │   ├── [7.2K] mksyntax.c │   ├── [ 76K] NEWS │   ├── [ 22K] nojobs.c │   ├── [ 14K] NOTES │   ├── [4.2K] parser-built │   ├── [3.0K] parser.h │   ├── [169K] parse.y │   ├── [169K] parse.y.orig │   ├── [1.1K] patchlevel.h │   ├── [1.1K] patchlevel.h.orig │   ├── [ 14K] pathexp.c │   ├── [3.8K] pathexp.h │   ├── [1.2K] pathnames.h │   ├── [1.2K] pathnames.h.in │   ├── [ 44K] pcomplete.c │   ├── [ 42K] pcomplete.c.orig │   ├── [4.7K] pcomplete.h │   ├── [4.3K] pcomplib.c │   ├── [4.0K] po │   │   ├── [1.2K] af.gmo │   │   ├── [124K] af.po │   │   ├── [106K] bash.pot │   │   ├── [230K] bg.gmo │   │   ├── [256K] bg.po │   │   ├── [ 217] boldquot.sed │   │   ├── [9.5K] ca.gmo │   │   ├── [210K] ca.po │   │   ├── [170K] cs.gmo │   │   ├── [229K] cs.po │   │   ├── [ 98K] da.gmo │   │   ├── [191K] da.po │   │   ├── [ 88K] de.gmo │   │   ├── [151K] de.po │   │   ├── [ 36K] el.gmo │   │   ├── [124K] el.po │   │   ├── [162K] en@boldquot.gmo │   │   ├── [1.3K] en@boldquot.header │   │   ├── [189K] en@boldquot.po │   │   ├── [160K] en@quot.gmo │   │   ├── [1.2K] en@quot.header │   │   ├── [187K] en@quot.po │   │   ├── [157K] eo.gmo │   │   ├── [195K] eo.po │   │   ├── [120K] es.gmo │   │   ├── [312K] es.po │   │   ├── [ 12K] et.gmo │   │   ├── [111K] et.po │   │   ├── [100K] fi.gmo │   │   ├── [188K] fi.po │   │   ├── [123K] fr.gmo │   │   ├── [236K] fr.po │   │   ├── [ 57K] ga.gmo │   │   ├── [138K] ga.po │   │   ├── [ 62K] gl.gmo │   │   ├── [139K] gl.po │   │   ├── [ 33K] hr.gmo │   │   ├── [120K] hr.po │   │   ├── [108K] hu.gmo │   │   ├── [193K] hu.po │   │   ├── [106K] id.gmo │   │   ├── [221K] id.po │   │   ├── [ 672] insert-header.sin │   │   ├── [120K] it.gmo │   │   ├── [195K] it.po │   │   ├── [131K] ja.gmo │   │   ├── [209K] ja.po │   │   ├── [ 161] LINGUAS │   │   ├── [ 29K] lt.gmo │   │   ├── [136K] lt.po │   │   ├── [ 19K] Makefile │   │   ├── [ 12K] Makefile.in │   │   ├── [ 12K] Makefile.in.in │   │   ├── [1.8K] Makevars │   │   ├── [167K] nl.gmo │   │   ├── [195K] nl.po │   │   ├── [170K] pl.gmo │   │   ├── [198K] pl.po │   │   ├── [1.8K] POTFILES │   │   ├── [1.4K] POTFILES.in │   │   ├── [9.4K] pt_BR.gmo │   │   ├── [203K] pt_BR.po │   │   ├── [ 153] quot.sed │   │   ├── [ 33] README │   │   ├── [ 432] remove-potcdate.sin │   │   ├── [9.1K] ro.gmo │   │   ├── [203K] ro.po │   │   ├── [8.9K] ru.gmo │   │   ├── [ 681] Rules-builtins │   │   ├── [1.6K] Rules-quot │   │   ├── [112K] ru.po │   │   ├── [118K] sk.gmo │   │   ├── [223K] sk.po │   │   ├── [115K] sl.gmo │   │   ├── [187K] sl.po │   │   ├── [214K] sr.gmo │   │   ├── [242K] sr.po │   │   ├── [ 10] stamp-po │   │   ├── [162K] sv.gmo │   │   ├── [190K] sv.po │   │   ├── [ 86K] tr.gmo │   │   ├── [211K] tr.po │   │   ├── [217K] uk.gmo │   │   ├── [247K] uk.po │   │   ├── [175K] vi.gmo │   │   ├── [204K] vi.po │   │   ├── [100K] zh_CN.gmo │   │   ├── [180K] zh_CN.po │   │   ├── [5.7K] zh_TW.gmo │   │   └── [109K] zh_TW.po │   ├── [9.1K] POSIX │   ├── [ 37K] print_cmd.c │   ├── [2.4K] quit.h │   ├── [1.7K] RBASH │   ├── [3.7K] README │   ├── [ 39K] redir.c │   ├── [1.5K] redir.h │   ├── [ 50K] shell.c │   ├── [4.8K] shell.h │   ├── [4.8K] shell.h.orig │   ├── [ 18K] sig.c │   ├── [4.4K] sig.h │   ├── [4.7K] siglist.c │   ├── [1.5K] siglist.h │   ├── [ 10] stamp-h │   ├── [6.5K] stringlib.c │   ├── [258K] subst.c │   ├── [258K] subst.c.orig │   ├── [ 13K] subst.h │   ├── [ 13K] subst.h.orig │   ├── [4.0K] support │   │   ├── [6.4K] bashbug.sh │   │   ├── [2.9K] bashversion.c │   │   ├── [3.3K] bash.xbm │   │   ├── [5.1K] checkbashisms │   │   ├── [ 45K] config.guess │   │   ├── [ 15K] config.rpath │   │   ├── [ 35K] config.sub │   │   ├── [2.1K] fixlinks │   │   ├── [5.2K] install.sh │   │   ├── [2.0K] Makefile │   │   ├── [2.1K] Makefile.in │   │   ├── [ 83K] man2html.c │   │   ├── [6.1K] missing │   │   ├── [2.8K] mkclone │   │   ├── [2.1K] mkconffiles │   │   ├── [1.1K] mkdirs │   │   ├── [1.9K] mkinstalldirs │   │   ├── [2.6K] mksignames.c │   │   ├── [4.7K] mkversion.sh │   │   ├── [1.6K] printenv.c │   │   ├── [ 848] printenv.sh │   │   ├── [1.4K] recho.c │   │   ├── [2.6K] rlvers.sh │   │   ├── [ 14K] shobj-conf │   │   ├── [ 10K] signames.c │   │   ├── [ 549] SYMLINKS │   │   ├── [ 23K] texi2dvi │   │   ├── [138K] texi2html │   │   ├── [1.8K] xcase.c │   │   ├── [2.1K] xenix-link.sh │   │   └── [1.0K] zecho.c │   ├── [3.4K] syntax.h │   ├── [ 20K] test.c │   ├── [ 20K] test.c.orig │   ├── [1.2K] test.h │   ├── [ 20K] tests │   │   ├── [ 289] alias1.sub │   │   ├── [ 103] alias.right │   │   ├── [ 600] alias.tests │   │   ├── [ 207] appendop1.sub │   │   ├── [ 238] appendop2.sub │   │   ├── [ 500] appendop.right │   │   ├── [ 887] appendop.tests │   │   ├── [ 438] arith1.sub │   │   ├── [ 479] arith2.sub │   │   ├── [ 809] arith3.sub │   │   ├── [ 92] arith4.sub │   │   ├── [ 960] arith5.sub │   │   ├── [ 762] arith6.sub │   │   ├── [1.1K] arith-for.right │   │   ├── [1.3K] arith-for.tests │   │   ├── [3.6K] arith.right │   │   ├── [4.5K] arith.tests │   │   ├── [1.1K] array10.sub │   │   ├── [ 516] array11.sub │   │   ├── [ 437] array12.sub │   │   ├── [ 237] array13.sub │   │   ├── [ 365] array14.sub │   │   ├── [ 380] array15.sub │   │   ├── [ 481] array16.sub │   │   ├── [ 30] array1.sub │   │   ├── [1.2K] array2.right │   │   ├── [ 64] array2.sub │   │   ├── [ 108] array3.sub │   │   ├── [ 436] array4.sub │   │   ├── [ 376] array5.sub │   │   ├── [1.4K] array6.sub │   │   ├── [ 297] array7.sub │   │   ├── [ 306] array8.sub │   │   ├── [ 271] array9.sub │   │   ├── [1.8K] array-at-star │   │   ├── [8.4K] array.right │   │   ├── [7.4K] array.tests │   │   ├── [ 233] assoc1.sub │   │   ├── [ 286] assoc2.sub │   │   ├── [ 200] assoc3.sub │   │   ├── [ 305] assoc4.sub │   │   ├── [ 405] assoc5.sub │   │   ├── [1.5K] assoc6.sub │   │   ├── [ 262] assoc7.sub │   │   ├── [4.6K] assoc.right │   │   ├── [3.2K] assoc.tests │   │   ├── [1.5K] braces.right │   │   ├── [1.7K] braces.tests │   │   ├── [ 153] builtins1.sub │   │   ├── [ 151] builtins2.sub │   │   ├── [ 149] builtins3.sub │   │   ├── [ 472] builtins4.sub │   │   ├── [2.0K] builtins.right │   │   ├── [5.6K] builtins.tests │   │   ├── [ 734] case1.sub │   │   ├── [1.4K] casemod.right │   │   ├── [1.3K] casemod.tests │   │   ├── [ 186] case.right │   │   ├── [ 523] case.tests │   │   ├── [ 654] comsub1.sub │   │   ├── [ 35] comsub-eof0.sub │   │   ├── [ 33] comsub-eof1.sub │   │   ├── [ 13] comsub-eof2.sub │   │   ├── [ 31] comsub-eof3.sub │   │   ├── [ 36] comsub-eof4.sub │   │   ├── [ 51] comsub-eof5.sub │   │   ├── [ 695] comsub-eof.right │   │   ├── [ 179] comsub-eof.tests │   │   ├── [ 42] comsub-posix1.sub │   │   ├── [ 440] comsub-posix2.sub │   │   ├── [ 143] comsub-posix3.sub │   │   ├── [1.0K] comsub-posix.right │   │   ├── [2.2K] comsub-posix.tests │   │   ├── [ 503] comsub.right │   │   ├── [ 645] comsub.tests │   │   ├── [1.4K] cond-regexp1.sub │   │   ├── [ 750] cond-regexp2.sub │   │   ├── [1.6K] cond-regexp3.sub │   │   ├── [1.2K] cond.right │   │   ├── [3.9K] cond.tests │   │   ├── [ 149] coproc.right │   │   ├── [ 584] coproc.tests │   │   ├── [ 367] COPYRIGHT │   │   ├── [1.4K] cprint.right │   │   ├── [1.1K] cprint.tests │   │   ├── [ 114] dbg-support2.right │   │   ├── [ 441] dbg-support2.tests │   │   ├── [ 486] dbg-support3.sub │   │   ├── [ 11K] dbg-support.right │   │   ├── [ 661] dbg-support.sub │   │   ├── [2.7K] dbg-support.tests │   │   ├── [ 287] dollar-at1.sub │   │   ├── [ 127] dollar-at2.sub │   │   ├── [ 79] dollar-at3.sub │   │   ├── [ 99] dollar-at4.sub │   │   ├── [1.3K] dollar-at5.sub │   │   ├── [ 351] dollar-at6.sub │   │   ├── [4.2K] dollar-at-star │   │   ├── [ 307] dollar-at-star1.sub │   │   ├── [4.7K] dollar.right │   │   ├── [ 337] dollar-star1.sub │   │   ├── [ 163] dollar-star2.sub │   │   ├── [ 270] dollar-star3.sub │   │   ├── [ 79] dollar-star4.sub │   │   ├── [ 125] dollar-star5.sub │   │   ├── [ 224] dollar-star6.sub │   │   ├── [ 704] dollar-star7.sub │   │   ├── [ 311] dstack2.right │   │   ├── [ 529] dstack2.tests │   │   ├── [1.3K] dstack.right │   │   ├── [1.1K] dstack.tests │   │   ├── [ 152] errors1.sub │   │   ├── [ 84] errors2.sub │   │   ├── [ 242] errors3.sub │   │   ├── [6.3K] errors.right │   │   ├── [5.3K] errors.tests │   │   ├── [ 10] exec1.sub │   │   ├── [ 106] exec2.sub │   │   ├── [ 83] exec3.sub │   │   ├── [ 65] exec4.sub │   │   ├── [ 252] exec5.sub │   │   ├── [ 925] exec6.sub │   │   ├── [ 468] exec7.sub │   │   ├── [ 21] exec8.sub │   │   ├── [ 252] exec9.sub │   │   ├── [ 888] exec.right │   │   ├── [2.7K] execscript │   │   ├── [ 426] exp1.sub │   │   ├── [ 269] exp2.sub │   │   ├── [ 186] exp3.sub │   │   ├── [ 133] exp4.sub │   │   ├── [ 308] exp5.sub │   │   ├── [ 718] exp6.sub │   │   ├── [3.1K] exp.right │   │   ├── [6.0K] exp.tests │   │   ├── [ 244] extglob1a.sub │   │   ├── [ 559] extglob1.sub │   │   ├── [2.2K] extglob2.right │   │   ├── [2.5K] extglob2.tests │   │   ├── [ 231] extglob3.right │   │   ├── [1.3K] extglob3.tests │   │   ├── [ 782] extglob.right │   │   ├── [5.7K] extglob.tests │   │   ├── [ 638] func1.sub │   │   ├── [ 277] func2.sub │   │   ├── [ 636] func3.sub │   │   ├── [ 403] func4.sub │   │   ├── [2.0K] func.right │   │   ├── [1.8K] func.tests │   │   ├── [ 365] getopts1.sub │   │   ├── [ 480] getopts2.sub │   │   ├── [ 480] getopts3.sub │   │   ├── [ 535] getopts4.sub │   │   ├── [ 632] getopts5.sub │   │   ├── [ 425] getopts6.sub │   │   ├── [ 538] getopts7.sub │   │   ├── [1.3K] getopts.right │   │   ├── [1.1K] getopts.tests │   │   ├── [ 194] glob1.sub │   │   ├── [1.9K] glob.right │   │   ├── [ 257] globstar1.sub │   │   ├── [ 731] globstar2.sub │   │   ├── [6.9K] globstar.right │   │   ├── [1005] globstar.tests │   │   ├── [5.6K] glob.tests │   │   ├── [ 101] heredoc1.sub │   │   ├── [ 61] heredoc2.sub │   │   ├── [ 960] heredoc3.sub │   │   ├── [1.4K] heredoc.right │   │   ├── [1.3K] heredoc.tests │   │   ├── [ 414] herestr.right │   │   ├── [ 388] herestr.tests │   │   ├── [2.4K] histexp.right │   │   ├── [1.8K] histexp.tests │   │   ├── [ 156] history1.sub │   │   ├── [ 164] history2.sub │   │   ├── [ 92] history.list │   │   ├── [3.4K] history.right │   │   ├── [1.4K] history.tests │   │   ├── [ 34] ifs-posix.right │   │   ├── [4.8K] ifs-posix.tests │   │   ├── [ 88] ifs.right │   │   ├── [ 730] ifs.tests │   │   ├── [ 126] input-line.sh │   │   ├── [ 45] input-line.sub │   │   ├── [ 124] input.right │   │   ├── [ 188] intl1.sub │   │   ├── [ 203] intl2.sub │   │   ├── [1.4K] intl.right │   │   ├── [ 777] intl.tests │   │   ├── [ 20] invert.right │   │   ├── [ 417] invert.tests │   │   ├── [ 764] iquote1.sub │   │   ├── [1.4K] iquote.right │   │   ├── [1.7K] iquote.tests │   │   ├── [ 241] jobs1.sub │   │   ├── [ 216] jobs2.sub │   │   ├── [ 373] jobs3.sub │   │   ├── [ 380] jobs4.sub │   │   ├── [ 152] jobs5.sub │   │   ├── [2.8K] jobs.right │   │   ├── [3.1K] jobs.tests │   │   ├── [ 129] lastpipe1.sub │   │   ├── [ 136] lastpipe.right │   │   ├── [ 989] lastpipe.tests │   │   ├── [ 243] mapfile1.sub │   │   ├── [ 337] mapfile.data │   │   ├── [2.3K] mapfile.right │   │   ├── [ 862] mapfile.tests │   │   ├── [4.0K] misc │   │   │   ├── [ 212] dev-tcp.tests │   │   │   ├── [1.2K] perf-script │   │   │   ├── [ 232] perftest │   │   │   ├── [ 215] read-nchars.tests │   │   │   ├── [ 170] redir-t2.sh │   │   │   ├── [ 39] run-r2.sh │   │   │   ├── [ 103] sigint-1.sh │   │   │   ├── [ 59] sigint-2.sh │   │   │   ├── [ 72] sigint-3.sh │   │   │   ├── [ 94] sigint-4.sh │   │   │   ├── [ 149] test-minus-e.1 │   │   │   ├── [ 186] test-minus-e.2 │   │   │   └── [ 360] wait-bg.tests │   │   ├── [3.6K] more-exp.right │   │   ├── [6.8K] more-exp.tests │   │   ├── [ 202] nameref1.sub │   │   ├── [ 132] nameref2.sub │   │   ├── [ 680] nameref3.sub │   │   ├── [3.0K] nameref4.sub │   │   ├── [ 919] nameref5.sub │   │   ├── [ 619] nameref6.sub │   │   ├── [ 152] nameref7.sub │   │   ├── [ 515] nameref8.sub │   │   ├── [2.2K] nameref.right │   │   ├── [1.5K] nameref.tests │   │   ├── [ 198] new-exp1.sub │   │   ├── [ 874] new-exp2.sub │   │   ├── [ 271] new-exp3.sub │   │   ├── [ 850] new-exp4.sub │   │   ├── [ 576] new-exp5.sub │   │   ├── [ 425] new-exp6.sub │   │   ├── [ 151] new-exp7.sub │   │   ├── [1.4K] new-exp8.sub │   │   ├── [ 507] new-exp9.sub │   │   ├── [139K] new-exp.right │   │   ├── [ 10K] new-exp.tests │   │   ├── [1.9K] nquote1.right │   │   ├── [ 89] nquote1.sub │   │   ├── [1.2K] nquote1.tests │   │   ├── [1.4K] nquote2.right │   │   ├── [ 557] nquote2.sub │   │   ├── [1.3K] nquote2.tests │   │   ├── [1.0K] nquote3.right │   │   ├── [1.5K] nquote3.tests │   │   ├── [ 287] nquote4.right │   │   ├── [ 325] nquote4.tests │   │   ├── [1.4K] nquote5.right │   │   ├── [ 948] nquote5.tests │   │   ├── [ 784] nquote.right │   │   ├── [1.6K] nquote.tests │   │   ├── [ 49] posix2.right │   │   ├── [4.4K] posix2.tests │   │   ├── [1.6K] posixexp1.sub │   │   ├── [ 576] posixexp2.right │   │   ├── [ 918] posixexp2.sub │   │   ├── [2.9K] posixexp2.tests │   │   ├── [ 930] posixexp.right │   │   ├── [1.8K] posixexp.tests │   │   ├── [ 243] posixpat.right │   │   ├── [3.6K] posixpat.tests │   │   ├── [ 255] posixpipe.right │   │   ├── [ 384] posixpipe.tests │   │   ├── [1.2K] precedence │   │   ├── [ 886] prec.right │   │   ├── [7.8K] printf1.sub │   │   ├── [ 172] printf2.sub │   │   ├── [1.3K] printf3.sub │   │   ├── [1.2K] printf4.sub │   │   ├── [3.4K] printf.right │   │   ├── [6.7K] printf.tests │   │   ├── [1000] quote1.sub │   │   ├── [1.0K] quote.right │   │   ├── [1.4K] quote.tests │   │   ├── [ 244] read1.sub │   │   ├── [ 339] read2.sub │   │   ├── [ 296] read3.sub │   │   ├── [ 46] read4.sub │   │   ├── [ 402] read5.sub │   │   ├── [ 211] read6.sub │   │   ├── [ 62] README │   │   ├── [ 713] read.right │   │   ├── [2.3K] read.tests │   │   ├── [ 292] redir10.sub │   │   ├── [ 142] redir1.sub │   │   ├── [ 24] redir2.sub │   │   ├── [ 6] redir3.in1 │   │   ├── [ 12] redir3.in2 │   │   ├── [ 234] redir3.sub │   │   ├── [ 3] redir4.in1 │   │   ├── [ 703] redir4.sub │   │   ├── [ 279] redir5.sub │   │   ├── [ 50] redir6.sub │   │   ├── [ 763] redir7.sub │   │   ├── [ 645] redir8.sub │   │   ├── [ 393] redir9.sub │   │   ├── [1.7K] redir.right │   │   ├── [3.2K] redir.tests │   │   ├── [1.2K] rhs-exp1.sub │   │   ├── [2.4K] rhs-exp.right │   │   ├── [2.1K] rhs-exp.tests │   │   ├── [ 690] rsh.right │   │   ├── [ 561] rsh.tests │   │   ├── [ 82] run-alias │   │   ├── [ 535] run-all │   │   ├── [ 88] run-appendop │   │   ├── [ 82] run-arith │   │   ├── [ 90] run-arith-for │   │   ├── [ 341] run-array │   │   ├── [ 202] run-array2 │   │   ├── [ 199] run-assoc │   │   ├── [ 79] run-braces │   │   ├── [ 278] run-builtins │   │   ├── [ 80] run-case │   │   ├── [ 86] run-casemod │   │   ├── [ 84] run-comsub │   │   ├── [ 92] run-comsub-eof │   │   ├── [ 96] run-comsub-posix │   │   ├── [ 350] run-cond │   │   ├── [ 192] run-coproc │   │   ├── [ 84] run-cprint │   │   ├── [ 326] run-dbg-support │   │   ├── [ 433] run-dbg-support2 │   │   ├── [ 171] run-dirstack │   │   ├── [ 86] run-dollars │   │   ├── [ 84] run-errors │   │   ├── [ 610] run-execscript │   │   ├── [ 93] run-exp-tests │   │   ├── [ 130] run-extglob │   │   ├── [ 132] run-extglob2 │   │   ├── [ 112] run-extglob3 │   │   ├── [ 283] run-func │   │   ├── [ 86] run-getopts │   │   ├── [ 118] run-globstar │   │   ├── [ 129] run-glob-test │   │   ├── [ 310] run-heredoc │   │   ├── [ 86] run-herestr │   │   ├── [ 203] run-histexpand │   │   ├── [ 203] run-history │   │   ├── [ 78] run-ifs │   │   ├── [ 90] run-ifs-posix │   │   ├── [ 81] run-input-test │   │   ├── [ 401] run-intl │   │   ├── [ 104] run-invert │   │   ├── [ 83] run-iquote │   │   ├── [ 331] run-jobs │   │   ├── [ 88] run-lastpipe │   │   ├── [ 86] run-mapfile │   │   ├── [ 926] run-minimal │   │   ├── [ 108] run-more-exp │   │   ├── [ 204] run-nameref │   │   ├── [ 586] run-new-exp │   │   ├── [ 104] run-nquote │   │   ├── [ 228] run-nquote1 │   │   ├── [ 228] run-nquote2 │   │   ├── [ 228] run-nquote3 │   │   ├── [ 230] run-nquote4 │   │   ├── [ 106] run-nquote5 │   │   ├── [ 104] run-posix2 │   │   ├── [ 88] run-posixexp │   │   ├── [ 90] run-posixexp2 │   │   ├── [ 83] run-posixpat │   │   ├── [ 90] run-posixpipe │   │   ├── [ 75] run-precedence │   │   ├── [ 326] run-printf │   │   ├── [ 81] run-quote │   │   ├── [ 210] run-read │   │   ├── [ 444] run-redir │   │   ├── [ 86] run-rhs-exp │   │   ├── [ 78] run-rsh │   │   ├── [ 77] run-set-e │   │   ├── [ 314] run-set-x │   │   ├── [ 82] run-shopt │   │   ├── [ 77] run-strip │   │   ├── [ 109] run-test │   │   ├── [ 77] run-tilde │   │   ├── [ 79] run-tilde2 │   │   ├── [ 304] run-trap │   │   ├── [ 80] run-type │   │   ├── [ 96] run-varenv │   │   ├── [ 84] run-vredir │   │   ├── [1.6K] set-e1.sub │   │   ├── [ 532] set-e2.sub │   │   ├── [ 39] set-e3a.sub │   │   ├── [ 209] set-e3.sub │   │   ├── [ 572] set-e.right │   │   ├── [1.4K] set-e.tests │   │   ├── [ 282] set-x1.sub │   │   ├── [ 565] set-x.right │   │   ├── [ 293] set-x.tests │   │   ├── [5.0K] shopt.right │   │   ├── [1.6K] shopt.tests │   │   ├── [ 11] source1.sub │   │   ├── [ 89] source2.sub │   │   ├── [ 10] source3.sub │   │   ├── [ 15] source4.sub │   │   ├── [ 294] source5.sub │   │   ├── [ 495] source6.sub │   │   ├── [ 713] source7.sub │   │   ├── [ 101] strip.right │   │   ├── [ 377] strip.tests │   │   ├── [3.1K] test.right │   │   ├── [6.7K] test.tests │   │   ├── [ 289] tilde2.right │   │   ├── [ 751] tilde2.tests │   │   ├── [ 365] tilde.right │   │   ├── [1.2K] tilde.tests │   │   ├── [ 98] trap1.sub │   │   ├── [ 69] trap2a.sub │   │   ├── [ 262] trap2.sub │   │   ├── [ 99] trap3.sub │   │   ├── [1015] trap4.sub │   │   ├── [ 417] trap5.sub │   │   ├── [2.1K] trap.right │   │   ├── [1.3K] trap.tests │   │   ├── [ 88] type1.sub │   │   ├── [ 101] type2.sub │   │   ├── [ 173] type3.sub │   │   ├── [ 328] type4.sub │   │   ├── [1.6K] type.right │   │   ├── [1.4K] type.tests │   │   ├── [ 45K] unicode1.sub │   │   ├── [ 482] unicode2.sub │   │   ├── [ 125] unicode3.sub │   │   ├── [ 395] varenv1.sub │   │   ├── [ 351] varenv2.sub │   │   ├── [ 367] varenv3.sub │   │   ├── [ 395] varenv4.sub │   │   ├── [ 217] varenv5.sub │   │   ├── [ 286] varenv6.sub │   │   ├── [ 883] varenv.right │   │   ├── [4.0K] varenv.sh │   │   ├── [ 163] version │   │   ├── [ 164] version.mini │   │   ├── [ 90] vredir1.sub │   │   ├── [ 471] vredir2.sub │   │   ├── [ 124] vredir3.sub │   │   ├── [ 182] vredir4.sub │   │   ├── [ 201] vredir5.sub │   │   ├── [ 169] vredir6.sub │   │   ├── [1.2K] vredir.right │   │   └── [ 455] vredir.tests │   ├── [ 34K] trap.c │   ├── [ 33K] trap.c.orig │   ├── [3.4K] trap.h │   ├── [8.5K] unwind_prot.c │   ├── [1.9K] unwind_prot.h │   ├── [130K] variables.c │   ├── [ 16K] variables.h │   ├── [2.9K] version.c │   ├── [4.6K] xmalloc.c │   ├── [1.7K] xmalloc.h │   ├── [ 205] Y2K │   ├── [250K] y.tab.c │   ├── [250K] y.tab.c.orig │   └── [4.2K] y.tab.h ├── [4.0K] bash-4.3-patches │   ├── [1.6K] bash43-001 │   ├── [ 72] bash43-001.sig │   ├── [1.6K] bash43-002 │   ├── [ 72] bash43-002.sig │   ├── [1.4K] bash43-003 │   ├── [ 72] bash43-003.sig │   ├── [1.5K] bash43-004 │   ├── [ 72] bash43-004.sig │   ├── [2.6K] bash43-005 │   ├── [ 72] bash43-005.sig │   ├── [1.4K] bash43-006 │   ├── [ 72] bash43-006.sig │   ├── [1.3K] bash43-007 │   ├── [ 72] bash43-007.sig │   ├── [4.5K] bash43-008 │   ├── [ 72] bash43-008.sig │   ├── [2.4K] bash43-009 │   ├── [ 72] bash43-009.sig │   ├── [5.2K] bash43-010 │   ├── [ 72] bash43-010.sig │   ├── [1.5K] bash43-011 │   ├── [ 72] bash43-011.sig │   ├── [1.3K] bash43-012 │   ├── [ 72] bash43-012.sig │   ├── [2.1K] bash43-013 │   ├── [ 72] bash43-013.sig │   ├── [3.5K] bash43-014 │   ├── [ 72] bash43-014.sig │   ├── [1.8K] bash43-015 │   ├── [ 72] bash43-015.sig │   ├── [3.6K] bash43-016 │   ├── [ 72] bash43-016.sig │   ├── [1.5K] bash43-017 │   ├── [ 72] bash43-017.sig │   ├── [1.3K] bash43-018 │   ├── [ 72] bash43-018.sig │   ├── [2.5K] bash43-019 │   ├── [ 72] bash43-019.sig │   ├── [2.7K] bash43-020 │   ├── [ 72] bash43-020.sig │   ├── [1.6K] bash43-021 │   ├── [ 72] bash43-021.sig │   ├── [1.7K] bash43-022 │   ├── [ 72] bash43-022.sig │   ├── [3.3K] bash43-023 │   ├── [ 72] bash43-023.sig │   ├── [1.9K] bash43-024 │   ├── [ 72] bash43-024.sig │   ├── [3.8K] bash43-025 │   ├── [ 72] bash43-025.sig │   ├── [1.5K] bash43-026 │   ├── [ 72] bash43-026.sig │   ├── [ 752] patch-shell.c │   └── [ 877] patch-variables.c ├── [7.6M] bash-4.3.tar.gz └── [2.5K] README.md 32 directories, 1239 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。