Hacker News new | past | comments | ask | show | jobs | submit login

I can tell you put quite a bit of work into this, and good job! But there are some major inaccuracies, just from going through the first few pages:

> When we talk about "The Shell", we're normally referring to the simple, text-based interface which is used to control a computer or a program.

This is a bit nitpicky, but I don't like this definition. This is conflating a TUI, a shell, and a terminal.

"The Shell" usually refers to `bash`, `zsh`, `fish`, `powershell`, or `cmd.exe`. The interface is the terminal (emulator), because programs like to dump ANSI control codes and the terminal takes those control codes and turn them into human-readable output with colours and such.

> Windows is actually being updated at the time of writing to provide a Linux-like shell interface as part of the core operating system (this is known as the Windows Subsystem Linux

No, no, no. This is just wrong.

If this was WSL1, you would be at least partially correct, since it's a re-implementation of linux syscalls and runtime environment on Windows, kinda like reverse-wine.

But with WSL2, windows now ships the entire linux kernel and virtualises it. The objective is not to provide a linux-like shell interface (whatever that means), but to let people run linux binaries on windows in a linux environment.

Either way, the fact that `bash` (or any other shell) runs on WSL is a result of bringing along the rest of the linux runtime environment.

> install instructions

For the entire WSL section, I'm pretty sure that you can install wsl these days with just `wsl --install` on powershell. Maybe it only works on win11 or something, I'll have to look up the docs. Winget also has ubuntu2004 in the repos. But this is not a linux-like shell on windows, this is using linux, virtualised, on windows.

Downloading homebrew just to install bash is ... interesting. Catalina is 3 years old, and I don't see any bash4/5 specific features that you're using (I had to google bash release notes lol). `zsh` is probably preferable anyways imo.

Also as a sidenote, you can get pretty close to a linux-like environment by just installing busybox on windows. You'll have to be careful around things that powershell aliased away, but if you decide to just prefer busybox for everything then you're like 90% of the way there.

> wget

For some bizarre reason, macos doesn't ship with `wget` by default. Don't ask me why :/

> renaissance of the shell

In my personal experience, shell usage has gone down, not up. What used to be shell scripts are now getting more and more specialised: sysv services became systemd, the rise of devops meant giant piles of Dockerfiles and YAML, etc.

It's still a critical part of system administration and development, but its tentacles are slowly receding from poking into every corner of everything to slightly less pokes in everything.




> For some bizarre reason, macos doesn't ship with `wget` by default. Don't ask me why :/

Probably because of its licence: wget is GNU, curl MIT. Apple stopped updating bash, e.g., due to licence changes, and won’t, in general, ship GPL based tools.

Homebrew to the rescue.


> shell usage has gone down, not up

I agree with you, but the "giant piles of Dockerfiles" are actually mostly shell commands anyway.


> For some bizarre reason, macos doesn't ship with `wget` by default. Don't ask me why :/

Because curl is better?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: