4 ms·
>Service managers should take care of things like figuring out where stdout and stderr logs are sent to, so you shouldn't have to do that stuff in your service
by trasz 4y ago
>Service managers should take care of things like figuring out where stdout and stderr logs are sent to, so you shouldn't have to do that stuff in your service scripts.
You don't have to. The fact that Linux had anachronisms like that wasn't because of shell scripts, it's an entirely orthogonal issue; a typical rc script in, say, FreeBSD, looks like this: https://github.com/freebsd/freebsd-src/blob/main/libexec/rc/rc.d/ctld https://github.com/freebsd/freebsd-src/blob/main/libexec/rc/.... It's declarative, it's easy to understand, but it also provides you with flexibility when you need it, as opposed to one-off hacks with custom, fixed functionality and random syntax.
- nerdponx 4y agoYou're justifying my point! There is no reason (other than historical) why this should be a Bourne-flavored shell script compared to any other scripting language. You could just as well write this in Lua or Scheme. Even the fact that there is runtime information embedded in the comments should be a big red flag that the wrong tool was chosen for this purpose.
- marginalia_nu 4y agoTo be fair, you can just change the hashbang and write your start up script in lua instead if you have an axe to grind with sh for some reason.
- trasz 4y agoYes - except you can't really expect anyone to know Lua or Scheme, while you can assume every even remotely competent Unix/Linux system administrator or power user to know sh(1).