Or a renamed txt. Eg, .js, .py, .css, .html, .json
Thank God they went with file name extensions so we didn’t have to preface every source .txt file with header content to instruct the editor about what kind of content it would have.
Why do I need to put that at the start of bash, desktop, and html files then?
Because both ways are used. Microsoft relies on file names, linux on the first bytes of the file.
Nothing unless you want to serve them without some other way to see what file type they are.
You can run bash scripts with bash.
Don’t know what a desktop file is.
HTML has that because webservers used to not have auto media type detection and response headers.