I wrote a bash script tool, which contains main.sh, common.sh, config.sh. The main.sh used the commond source to load relative files.
I want to merge all files to single file for the convenience of distribution. Is there any best practice for that?
sourced files with the contents of the listed file or you can write a script that does it for you. Depends on how much/often you expect to do that. And this will be flagged as an "opinion" question, which are off topic here. Please read Help On-topic and Help How-to-ask before posting more Qs here. Good luck.