cgibashopts
1.0.0
CGIBASHOPTS是一个小而快速的纯bash库,即使使用二进制文件上传,也可以解析bash shell shell web cgi脚本的Web表单参数。它是无限制的免费使用(麻省理工学院许可证)。 (c)Colas Nahaboo 2017
cgibashopts 。例如/usr/local/bin/cgibashoptssource /usr/local/bin/cgibashopts或. /usr/local/bin/cgibashoptsfoo (例如,html页面中: <input type=text name=foo> ),然后可以作为shell环境变量的值$FORM_foo找到。故障排除:
tests/tewiba -v以查看测试套件是否检测到问题。bash , grep , sed 。要测试这一点,请运行grep -P . /dev/null ,您不应遇到错误。如果这样做,则应将它们安装在类似于Unix的系统上,默认情况下不使用GNU实用程序,例如MacOS ,BusyBox,FreeBSD,BSD和SYSV衍生产品...bash , coreutils , grep , sed的GNU版本的软件包$FORMS列出为空间分隔的名称字符串。例如: echo "$FORMS" ==> foo bar gee 。参数名称是html form中各种HTML元素中name属性指定的参数名称,或通过wget或curl等命令发送的参数名称。参数名称必须是bash的法律变量名称:字母数字字符和下划线,而不是从数字开始。$FORM_foo用于html表单元素,名为foo 。<input type=file name=file1>的表单元素,cgibashopts将参数名称(there file1 )放入变量$ formfiles,这是所有收到的所有文件参数名称的空间分隔列表。上载文件的实际名称可以在变量值(以下$FORM_file1 )中找到,而该文件的内容可以在$CGIBASHOPTS_DIR目录中的变量命名的本地文件中找到(here $CGIBASHOPTS_DIR/file1 )cgibashopts_clean ,以删除存储上载文件的临时目录$CGIBASHOPTS_DIR ,如果不使用-n选项(请参见下文)。 CGIBASHOPTS执行trap cgibashopts_clean 0 ,以便在脚本末尾自动调用此函数,因此您无需执行任何操作,除非您自己使用trap 0 ,从而确保您必须确保处理exit信号的代码明确调用cgibashopts_clean 。trap 0 。因此,将陷阱0设置在采购CGIBASHOPT之后file的输入元素时,才需要调用CGIBASHOPTS_CLEANcgibashopts_clean函数,因此不再需要它,并且您可以随意使用陷阱。$CGIBASHOPTS_DIR或函数cgibashopts_clean ,也不使用陷阱。注意:这仅在版本3及更高版本中可用。使用的示例: . cgibashopts -n/tmp 。 cgibashoptions将在其中创建一个cgibashopts-files.$$子目录(其中$$是bash过程编号,每个实例唯一),显示在$CGIBASHOPTS_DIR变量中。CGIBASHOPTS_RELEASE持有发行版,使用所使用的cgibashopts库的语义版本(例如4.0.1,4.4.3),在此页面末尾列出了更改历史上的版本...CGIBASHOPTS_VERSION保留了主要版本号(上面的CGIBASHOPTS_RELEASE的第一个整数,以使其向后兼容。+的urldecode ,在HexadeCimal ASCII Code XX(例如%41变成a)中转换 + %XX ,并删除托架返回。urlencode 。两者都比二进制Linux命令快。$nl和$cr保留新线和一个马车返回字符param函数。这只是与Bashlib兼容的便利函数,用于使用它的人(或脚本)。param无参数输出FORMS的值param foo输出FORM_foo的值param foo a string...将FORM_foo的值设置为"a string..."param -f打印$FORMFILESparam -f foo打印$FORMFILE_fooparam -f foo a string...将FORMFILE_foo的值设置为"a string..." 提供了一个测试套件,可以通过./tests/RUN-ALL-TESTS运行,有关更多详细信息,请参见目录tests中的readme.md
欢迎您复制和增强该项目,并通过以下方式提供错误报告,反馈和建议。
Content-Type和Content-Disposition HTTP标头中仅将半隆被理解为分离器。修复以也使用逗号。 “ Florin-CTU”报告的错误,第8期和#9。CGIBASHOPTS_RELEASE