3 ms·
I thought MacOS was built off of BSD. Wouldn't that make it to where you can run most of the common Unix commands and stuff like Awk?
by 7thaccount 4y ago
I thought MacOS was built off of BSD. Wouldn't that make it to where you can run most of the common Unix commands and stuff like Awk?
- zamadatix 4y agoIt is built off BSD, that's where said *nix background comes from. Where it falls short is Apple won't ship anything GPLv3 licensed so you get a lot of either ancient or non-standard programs you're back to having to fix up via 3rd party sources (e.g. homebrew, and be careful with what you put as default in the path). There's also no 1st CLI package manager and the Store is primarily about GUI apps since it's a consumer OS at the end of the day. Even when you do patch in modern coreutils, bash, editors, and such you find it's still not quite the environment tools expect i.e. Linux so things like Docker just spin up a Linux VM anyways. As far as the original "real terminal" it used to be the the macOS Terminal app was miles ahead of Windows but now that's not even that different with both system's "Terminal" apps having tabs, panes, 24 bit color, decent ANSI VT sequences support, transparency, ligatures, customizable shortcuts, and so on. Windows will actually ships OpenSSH and a newer version of Python but macOS ships a lot more of the standard tools like screen, awk, and nano but as mentioned they can be woefully out of date anyways so it's not a huge upsell and you'll still be adding a 3rd party package manager like homebrew. On the bright side homebrew is much easier to work with than e.g. cygwin IMO. That said WSL2 is much easier to work with than any of the "Linux VM on macOS" systems so it's a bit of a give and take there. Asahi (native Linux on Apple Silicon laptops) is fantastic but unless you're a diehard Linux user that's fine with working around fairly core features being unsupported it's not quite there yet so Linux dual booting is a bit of a loss right now too.
- throw0101b 4y ago> non-standard programs Define "standard" and "non-standard", given macOS is POSIX-certified to the UNIX 03 Product Standard: * https://www.opengroup.org/openbrand/register/brand3683.htm https://www.opengroup.org/openbrand/register/brand3683.htm * https://www.opengroup.org/openbrand/register/brand3688.htm https://www.opengroup.org/openbrand/register/brand3688.htm > The UNIX 03 Product Standard is the mark for systems conforming to Version 3 of the Single UNIX Specification. It is a significantly enhanced version of the UNIX 98 Product Standard. The mandatory enhancements include alignment with ISO/IEC 9989:1999 C Programming Language, IEEE Std 1003.1-2001 and ISO/IEC 9945:2002. This Product Standard includes the following mandatory Product Standards: Internationalized System Calls and Libraries Extended V3,Commands and Utilities V4, C Language V2, and Internationalized Terminal Interfaces. * https://www.opengroup.org/openbrand/register/xym0.htm https://www.opengroup.org/openbrand/register/xym0.htm Not meeting your expectations ≠ non-standard. :)
- zamadatix 4y agoE.g. /bin/sh is from an ancient version of bash while the default /bin/zsh is not POSIX standard (without some manual mucking around at least which can break your setup if you do globally). The POSIX certificate doesn't make those less ancient or more standard it just makes the environment POSIX certified. In that regard the stuff I mentioned in the comment is what I was referring to as standard. No 20 year old document to reference or certificate on file but I'd bet more people here are interested in things like how docker or package managers compare between systems than knowing df on macOS is certified to report in 512 byte blocks by default. I forget who said it but "the nice thing about standards is that you have so many to choose from". If you're expecting the GNU awk which has been on every machine you've ever used it doesn't matter you have POSIX awk, it's not the relevant standard to check.