Common rules for contributing to acme.sh
1. The file shebang must be sh
not bash
acme.sh is a unix shell
script, not just a bash
script.
If you want to contribute your script, the shebang must be:
#!/usr/bin/env sh
After the installation, acme.sh could change the shebang to bash to get better performance if you have bash on your machine.
Of course, if you just use it on your own, it can be any valid shebang on your machine. It could be sh
or bash
, it's up to you.
2. Please create a new issue for future bugs
Please report a new issue here: " Report bugs to xxxx dns api"
https://github.com/Neilpang/acme.sh/issues
And please watch to that issue. Any future bug will be reported there.
Example: https://github.com/Neilpang/acme.sh/issues/2057
3. Cross-Platform Compatibility Guide
- Don't use
grep -o
options, please use_egrep_o()
function instead, other grep options may be used with caution. - Don't use
curl
orwget
, please use_get()
or_post()
function instead. The_post()
function can sendPOST
,PUT
orUPDATE
requests. - Do not use
sed -e
, which causes a problem in OS X and BSD. - Do not use
sed
with labels, which causesLabel too long
problem in Solaris. - Do not use
sed
with newlines (\n
), which causes a problem in OS X and BSD. - Do not use
grep -E
option.
If you need a BSD or Solaris development environment, please head to vmactions. For example, you can use solaris-shell to get a shell environment in Solaris.
Style Guidelines
acme.sh uses shellcheck for new commits and also enforces style guidelines.
To avoid the most common travis failures:
- Use indentation with 2 spaces
- remove trailing spaces
- Doublequote variables (use _debug txtvalue "$txtvalue" instead of _debug txtvalue=$txtvalue)
- Always check the travis results after a commit
- Consider using shellcheck (https://www.shellcheck.net/) before commiting
shfmt -l -w -i 2 .
will re-indent your files
Buy me a beer, Donate to acme.sh if it saves your time. Your donation makes acme.sh better: https://donate.acme.sh/
如果 acme.sh 帮你节省了时间,请考虑赏我一杯啤酒🍺, 捐助: https://donate.acme.sh/ 你的支持将会使得 acme.sh 越来越好. 感谢