Hi, since the upgrade to the latest version the function executeShell (also the other functions), is not working has it used to be, older versions of the compiler did not require any change or setting the SHELL.

How to change the SHELL, that is used by executeShell? userShell will always return /bin/sh.

I've tested by setting the SHELL to /bin/bash using the environment function. If I execute echo $SHELL inside the executeShell it will show /bin/bash has expected.

My issue is that the command I'm executing inside executeShell is throwing and error and showing that the execution is done by /bin/sh.

My code:
executeShell("diff -u <(echo "~data1~") <(echo "~data2~")");

Output:
/bin/sh: 1: Syntax error: "(" unexpected

This is caused by a limitation from /bin/sh that cannot perform process substitution.

Can this commit be the reason? https://github.com/D-Programming-Language/phobos/commit/a524a3571b18e440c4dd751fcf4e2d00b834fb22

Reply via email to