Hello,
with the recent inclusion of the distribution files in assets/linux/ I have noticed that some of the scripts were using bash when they could be using just the posix sh.
Here's the current state of the shebangs for sh:
$ rg "^#\!.*sh$"
assets/linux/unregisterBiglyBT
1:#!/usr/bin/env bash
assets/linux/updateBiglyBT
1:#!/usr/bin/env bash
assets/linux/registerBiglyBT
1:#!/usr/bin/env bash
mvnw
1:#!/bin/sh
core/src/com/biglybt/platform/unix/startupScript
1:#!/usr/bin/env bash
for {un,}registerBiglyBT it's trivial but updateBiglyBT & startupScript require more work.
One thing is clear: they are not written for bash -- they are shell scripts with occasional bash syntax which makes them not portable.
Right now we do not the portability (and speed, for people with alternative /bin/sh) of the posix shell nor the speed and the convenience of bash.
I think it should be decided if the project should:
- go all in for
bash
- use bash only on Linux (FreeBSD does not ship it by default)
- stick to the posix
sh
I am willing to handle all this myself but I do not want my work to go to waste so please decide on the shell policy for this project.
also as a sidenote: Does it make sense to have the unix startup script written for bash?
as far as I know it's the standard only on GNU/Linux.
Hello,
with the recent inclusion of the distribution files in
assets/linux/I have noticed that some of the scripts were usingbashwhen they could be using just the posixsh.Here's the current state of the shebangs for sh:
for
{un,}registerBiglyBTit's trivial butupdateBiglyBT&startupScriptrequire more work.One thing is clear: they are not written for bash -- they are shell scripts with occasional bash syntax which makes them not portable.
Right now we do not the portability (and speed, for people with alternative
/bin/sh) of the posix shell nor the speed and the convenience of bash.I think it should be decided if the project should:
bashshI am willing to handle all this myself but I do not want my work to go to waste so please decide on the shell policy for this project.
also as a sidenote: Does it make sense to have the unix startup script written for bash?
as far as I know it's the standard only on GNU/Linux.