Don't add extensions to shell executables

Redowan Delowar November 23, 2021
Source
I was browsing through the source code of Tom Christie's [typesystem] library and discovered that the [shell scripts] of the project don't have any extensions attached to them. At first, I found it odd, and then it all started to make sense. > Executable scripts can be written in any language and the users don't need to care about > that. GitHub uses this [scripts-to-rule-them-all pattern] successfully to normalize their scripts. According to the pattern, every project should have a folder named scripts with a subset or superset of the following files: - script/bootstrap – installs/updates all dependencies - script/setup – sets up a project to be used for the first time - script/update – updates a project to run at its current version - script/server – starts app - script/test – runs tests - script/cibuild – invoked by continuous integration servers to run tests - script/console – opens a console [typesystem]: https://github.com/encode/typesystem [shell scripts]: https://github.com/encode/typesystem/tree/master/scripts [scripts-to-rule-them-all pattern]: https://github.com/github/scripts-to-rule-them-all

Discussion in the ATmosphere

Loading comments...