While it makes for a nice headline, it's worth pointing out that it was only a single employee. There are tons of employees at Microsoft who know Linux very well, they have to after all, as it...
While it makes for a nice headline, it's worth pointing out that it was only a single employee. There are tons of employees at Microsoft who know Linux very well, they have to after all, as it powers some of their hosting... :P
rm /bin/sh ln -s /bin/bash /bin/sh Yikes. What if I have something custom installed at /bin/sh? Doesn't this have the potential to break a bunch of scripts that assume /bin/sh doesn't use bash syntax?
rm /bin/sh
ln -s /bin/bash /bin/sh
Yikes. What if I have something custom installed at /bin/sh? Doesn't this have the potential to break a bunch of scripts that assume /bin/sh doesn't use bash syntax?
You shouldn't assume /bin/sh to have bash syntax in the first place. /bin/sh is supposed to be POSIX (compliant), for everything else you should target the proper shell, such as /bin/bash. Even...
You shouldn't assume /bin/sh to have bash syntax in the first place. /bin/sh is supposed to be POSIX (compliant), for everything else you should target the proper shell, such as /bin/bash. Even better would be to target env and let it find out where the shell binary is, using /usr/bin/env bash.
Bash does fall back to a POSIX compliant mode when it is invoked through /bin/sh, so it should work fine in this case. But that doesn't make it sane to put this in a package install script. All it does is show that Microsoft doesn't have a single care for anything else on the system, nor does it understand how it should cope with shells. But I guess we already saw that with PowerShell.
While it makes for a nice headline, it's worth pointing out that it was only a single employee. There are tons of employees at Microsoft who know Linux very well, they have to after all, as it powers some of their hosting... :P
Yikes. What if I have something custom installed at /bin/sh? Doesn't this have the potential to break a bunch of scripts that assume /bin/sh doesn't use bash syntax?
You shouldn't assume
/bin/sh
to have bash syntax in the first place./bin/sh
is supposed to be POSIX (compliant), for everything else you should target the proper shell, such as/bin/bash
. Even better would be to targetenv
and let it find out where the shell binary is, using/usr/bin/env bash
.Bash does fall back to a POSIX compliant mode when it is invoked through
/bin/sh
, so it should work fine in this case. But that doesn't make it sane to put this in a package install script. All it does is show that Microsoft doesn't have a single care for anything else on the system, nor does it understand how it should cope with shells. But I guess we already saw that with PowerShell.