For shell scripts it’s because bash isn’t the only shell; if you leave out the shebang line, Ubuntu will run your script in Dash instead
Comment on Most file types are just a renamed .zip
JackGreenEarth@lemm.ee 1 month agoWhy do I need to put that at the start of bash, desktop, and html files then?
Revan343@lemmy.ca 1 month ago
xigoi@lemmy.sdf.org 1 month ago
For HTML, it’s to distinguish “standards mode” HTML from “quirks mode” HTML (weich doesn’t need a header).
LodeMike@lemmy.today 1 month ago
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.
Ephera@lemmy.ml 1 month ago
.desktop files are a Linux/Unix thing. Basically, it’s a fancy shortcut, usually to an application, which allows specifying additional infos, like e.g. translated names.
In particular, the contents of the application menu are defined by just a folder filled with .desktop files.
cron@feddit.org 1 month ago
Because both ways are used. Microsoft relies on file names, linux on the first bytes of the file.
p_consti@lemmy.world 1 month ago
Not quite correct. For html, that is to signal standard compliance, you can leave it away and the browser will still handle it. For the bash one, all (most) shell scripts use .sh, so you need to give a shebang to tell the loader which executable (sh, bash, zsh, csh, …) to use
cron@feddit.org 1 month ago
You’re right, my comment was oversimplified.