关联漏洞
标题:
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付费,感谢您的支持。