sh:具有bash支持的shell解析器,格式化程序和解释器; 包括shfmt-源码

上传者: 42129113 | 上传时间: 2021-01-30 20:09:59 | 文件大小: 210KB | 文件类型: ZIP
SH Shell解析器,格式化程序和解释器。 支持 , 和 。 需要Go 1.14或更高版本。 快速开始 要解析shell脚本,对其进行检查并打印出来,请参见。 有关诸如对字符串执行shell扩展之类的高级操作,请参见。 shfmt GO111MODULE=on go get mvdan.cc/sh/v3/cmd/shfmt shfmt格式化外壳程序。 请参阅以快速了解其默认样式。 例如: shfmt -l -wscript.sh 有关更多信息,请参,可以直接将其视为Markdown或使用呈现。 软件包可用于 , , , , , , , , , 和 。 天哪 GO111MODULE=on go get mvdan.cc/sh/v3/cmd/gosh 使用interp的概念外壳证明。 请注意,它目前不打算替换POSIX shell,其选择是有意地简化的。 模糊测试 该项目利用查找解析器和打印机中的崩溃和挂起。 fuzz-corpus分支包含一个语料库以帮助您入门。 例如: git checkout fuzz-corpus ./fuzz 注意事项 为Bash关

文件下载

资源详情

[{"title":"( 87 个子文件 210KB ) sh:具有bash支持的shell解析器,格式化程序和解释器; 包括shfmt-源码","children":[{"title":"sh-master","children":[{"title":"pattern","children":[{"title":"example_test.go <span style='color:#111;'> 893B </span>","children":null,"spread":false},{"title":"pattern.go <span style='color:#111;'> 7.41KB </span>","children":null,"spread":false},{"title":"pattern_test.go <span style='color:#111;'> 3.98KB </span>","children":null,"spread":false}],"spread":true},{"title":"fileutil","children":[{"title":"file.go <span style='color:#111;'> 1.91KB </span>","children":null,"spread":false}],"spread":true},{"title":"cmd","children":[{"title":"gosh","children":[{"title":"main_test.go <span style='color:#111;'> 4.14KB </span>","children":null,"spread":false},{"title":"main.go <span style='color:#111;'> 1.84KB </span>","children":null,"spread":false}],"spread":true},{"title":"shfmt","children":[{"title":"testdata","children":[{"title":"scripts","children":[{"title":"basic.txt <span style='color:#111;'> 432B </span>","children":null,"spread":false},{"title":"atomic.txt <span style='color:#111;'> 553B </span>","children":null,"spread":false},{"title":"diff.txt <span style='color:#111;'> 468B </span>","children":null,"spread":false},{"title":"editorconfig.txt <span style='color:#111;'> 2.56KB </span>","children":null,"spread":false},{"title":"flags.txt <span style='color:#111;'> 1.32KB </span>","children":null,"spread":false},{"title":"tojson.txt <span style='color:#111;'> 2.96KB </span>","children":null,"spread":false},{"title":"walk.txt <span style='color:#111;'> 2.36KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"shfmt.1.scd <span style='color:#111;'> 3.00KB </span>","children":null,"spread":false},{"title":"docker-entrypoint.sh <span style='color:#111;'> 556B </span>","children":null,"spread":false},{"title":"main_test.go <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false},{"title":"Dockerfile <span style='color:#111;'> 449B </span>","children":null,"spread":false},{"title":"main.go <span style='color:#111;'> 9.32KB </span>","children":null,"spread":false},{"title":"json.go <span style='color:#111;'> 1.77KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"expand","children":[{"title":"braces_test.go <span style='color:#111;'> 3.39KB </span>","children":null,"spread":false},{"title":"expand.go <span style='color:#111;'> 22.14KB </span>","children":null,"spread":false},{"title":"doc.go <span style='color:#111;'> 180B </span>","children":null,"spread":false},{"title":"environ.go <span style='color:#111;'> 6.02KB </span>","children":null,"spread":false},{"title":"param.go <span style='color:#111;'> 7.77KB </span>","children":null,"spread":false},{"title":"arith.go <span style='color:#111;'> 3.93KB </span>","children":null,"spread":false},{"title":"expand_test.go <span style='color:#111;'> 1.54KB </span>","children":null,"spread":false},{"title":"braces.go <span style='color:#111;'> 1.92KB </span>","children":null,"spread":false},{"title":"environ_test.go <span style='color:#111;'> 1.41KB </span>","children":null,"spread":false}],"spread":true},{"title":"shell","children":[{"title":"expand.go <span style='color:#111;'> 1.92KB </span>","children":null,"spread":false},{"title":"doc.go <span style='color:#111;'> 613B </span>","children":null,"spread":false},{"title":"example_test.go <span style='color:#111;'> 1.12KB </span>","children":null,"spread":false},{"title":"expand_test.go <span style='color:#111;'> 2.77KB </span>","children":null,"spread":false}],"spread":true},{"title":".github","children":[{"title":"FUNDING.yml <span style='color:#111;'> 14B </span>","children":null,"spread":false},{"title":"workflows","children":[{"title":"test.yml <span style='color:#111;'> 7.08KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"LICENSE <span style='color:#111;'> 1.45KB </span>","children":null,"spread":false},{"title":"interp","children":[{"title":"handler.go <span style='color:#111;'> 7.74KB </span>","children":null,"spread":false},{"title":"test.go <span style='color:#111;'> 4.88KB </span>","children":null,"spread":false},{"title":"interp_test.go <span style='color:#111;'> 74.35KB </span>","children":null,"spread":false},{"title":"unix_test.go <span style='color:#111;'> 3.06KB </span>","children":null,"spread":false},{"title":"builtin.go <span style='color:#111;'> 17.95KB </span>","children":null,"spread":false},{"title":"example_test.go <span style='color:#111;'> 1.94KB </span>","children":null,"spread":false},{"title":"os_unix.go <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"runner.go <span style='color:#111;'> 16.88KB </span>","children":null,"spread":false},{"title":"vars.go <span style='color:#111;'> 7.26KB </span>","children":null,"spread":false},{"title":"api.go <span style='color:#111;'> 15.25KB </span>","children":null,"spread":false},{"title":"os_windows.go <span style='color:#111;'> 338B </span>","children":null,"spread":false},{"title":"test_classic.go <span style='color:#111;'> 3.60KB </span>","children":null,"spread":false},{"title":"windows_test.go <span style='color:#111;'> 645B </span>","children":null,"spread":false},{"title":"handler_test.go <span style='color:#111;'> 6.63KB </span>","children":null,"spread":false}],"spread":false},{"title":"_js","children":[{"title":"testmain.js <span style='color:#111;'> 5.48KB </span>","children":null,"spread":false},{"title":"package.json <span style='color:#111;'> 399B </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 1.45KB </span>","children":null,"spread":false},{"title":"api_dump.go <span style='color:#111;'> 5.81KB </span>","children":null,"spread":false},{"title":"main.go <span style='color:#111;'> 6.13KB </span>","children":null,"spread":false},{"title":"testbrowser.html <span style='color:#111;'> 880B </span>","children":null,"spread":false},{"title":"go.sum <span style='color:#111;'> 3.51KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 2.93KB </span>","children":null,"spread":false},{"title":"build <span style='color:#111;'> 243B </span>","children":null,"spread":false},{"title":"go.mod <span style='color:#111;'> 258B </span>","children":null,"spread":false}],"spread":true},{"title":"fuzz.go <span style='color:#111;'> 2.11KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 139B </span>","children":null,"spread":false},{"title":"syntax","children":[{"title":"lexer.go <span style='color:#111;'> 19.75KB </span>","children":null,"spread":false},{"title":"token_string.go <span style='color:#111;'> 3.77KB </span>","children":null,"spread":false},{"title":"simplify.go <span style='color:#111;'> 5.40KB </span>","children":null,"spread":false},{"title":"canonical.sh <span style='color:#111;'> 317B </span>","children":null,"spread":false},{"title":"nodes.go <span style='color:#111;'> 22.75KB </span>","children":null,"spread":false},{"title":"tokens.go <span style='color:#111;'> 9.59KB </span>","children":null,"spread":false},{"title":"parser.go <span style='color:#111;'> 57.09KB </span>","children":null,"spread":false},{"title":"doc.go <span style='color:#111;'> 226B </span>","children":null,"spread":false},{"title":"printer.go <span style='color:#111;'> 32.45KB </span>","children":null,"spread":false},{"title":"walk.go <span style='color:#111;'> 5.58KB </span>","children":null,"spread":false},{"title":"parser_test.go <span style='color:#111;'> 52.03KB </span>","children":null,"spread":false},{"title":"nodes_test.go <span style='color:#111;'> 1.67KB </span>","children":null,"spread":false},{"title":"example_test.go <span style='color:#111;'> 3.93KB </span>","children":null,"spread":false},{"title":"simplify_test.go <span style='color:#111;'> 2.37KB </span>","children":null,"spread":false},{"title":"walk_test.go <span style='color:#111;'> 2.92KB </span>","children":null,"spread":false},{"title":"parser_arithm.go <span style='color:#111;'> 8.21KB </span>","children":null,"spread":false},{"title":"quotestate_string.go <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false},{"title":"filetests_test.go <span style='color:#111;'> 91.65KB </span>","children":null,"spread":false},{"title":"printer_test.go <span style='color:#111;'> 29.58KB </span>","children":null,"spread":false},{"title":"braces.go <span style='color:#111;'> 3.76KB </span>","children":null,"spread":false}],"spread":false},{"title":"CHANGELOG.md <span style='color:#111;'> 20.99KB </span>","children":null,"spread":false},{"title":"fuzz <span style='color:#111;'> 450B </span>","children":null,"spread":false},{"title":"go.sum <span style='color:#111;'> 3.47KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 5.95KB </span>","children":null,"spread":false},{"title":".gitattributes <span style='color:#111;'> 192B </span>","children":null,"spread":false},{"title":"go.mod <span style='color:#111;'> 456B </span>","children":null,"spread":false}],"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明