On Monday, 20 July 2020 at 14:14:26 UTC, Bastiaan Veelo wrote:
[snip]

Thanks for your reply. I have put some comments in line below.


I don't think it is related to the Ubuntu 16.10 issue, because the above test does not rely on SHLVL being 2 initially. If the script is called from the terminal, and the terminal is running bash (which it seems to do according to the output of $SHELL) SHLVL should be at least 1 on the terminal and one higher when the script is run (since running a script starts a new bash).

Hmm, ok. So your point is that its ok for it to start out of SHLVL 1, but then it should be incremented by calling bash as part of the curl pipe and detected? Is there a simple example of this behavior I could test?

Maybe the script is run in a way that breaks this assumption? Is it run using `call`? Is it run headless, without a terminal? Is it not run by real bash?


As far as I can tell it is real bash (from above, "Running `echo $SHELL` prints `/bin/bash`")...but I primarily use Windows.

All I did was install the operating system, update and restart as needed, open a terminal, and then went to the dlang downloads page and copy and pasted the line
curl -fsS https://dlang.org/install.sh | bash -s dmd
(I might have needed to make it sudo, I can't recall).

There is a related conversation here, but not quite the same: https://github.com/dlang/installer/commit/e084815001390538bbd6fe5be7c2d4d81ee681b7#commitcomment-40487617

nexor specifically mentioned docker being a problem. After getting Linux Mint 20 set up and failing to use the install.sh script, I switched to the package on the website and it installed without issue. However, I later tried to get docker working and then ran into this issue again and was not able to use the same workaround (I know very little about docker and did not want to push my luck). So not being able to use docker seems like a bigger issue than not being able to use the install.sh on Linux Mint 20.


Please open an issue on https://issues.dlang.org/enter_bug.cgi and post a link here, if we need to drill deeper.


See
https://issues.dlang.org/show_bug.cgi?id=21059

I can imagine that the current `posix_terminal()` is flawed if the terminal is running a shell that is not bash, for which we should find a solution.

--Bastiaan.



Reply via email to