Can we please talk about how UN*X shell is still not fixed in 2018?

...

Yes, there is more than one command where you should pay attention to what you fucking typed before hitting enter. Computers are not supposed to be used by goldfish that can only remember one thing.

Attached: Aaaaah.jpg (1000x559, 50.14K)

Does your editor warn you when you try to exit without saving?

Shell is a thin wrapper around fork and exec. Exec/c don't have this problem, args wil be passed to the process unsplit.

There are certain requirements for something to be a POSIX shell. Same goes for unix. Unquoted vars being split on $IFS is one of those things

Not him, but vim wont let you :quit an unsaved buffer. You can still ZQ or :q! without trouble though.

Passing unsplit strings to a process is doable even in bourne sh, if unnecessarily tedious.
Telling the process which arguments are flags and which ones aren't (the topic of this thread) is impossible to do consistently. Not all software supports the -- separator.

sudo apt-get install -y powershell

Or, like, use Python.

jesus you're retarded

Attached: d280ffcbfb1393d2a5dceb2e13a6a4eadcb32a2529d3b30b9c012869c1624058.jpeg (470x470, 42.7K)

the virgin linux loser
-must have autistic colors for the few cli programs he uses
-complains when distros dont add user to sudoers by default
-thinks i3 + vim makes him look cool
-would use a systemd distro if it wasn't uncool
-unironically compiles everything from source
-bloated core components
-doesn't care about his package manager as long as it has dependency resolution
THE CHAD BSD BEASTIE
-has disabled colors from appearing on his system
-runs everything as root. fears nothing
-"yeah, i'd use dwm if it weren't so bloated"
-doesn't have to worry about an init being sane, they all are
-thanks god each day for binary package management
-minimal, fast core components. starts an hour long rant in irc when his system doesn't boot in less than 3 seconds
-urges devs to make a back-end package manager with no dependency resolution and to make it the default package manager

Yes, it is, and that's by design. Being able to write shell scripts is just a convenience for gluing simple things together. If you need a more powerful scripting system then use a proper scripting language:

#!/usr/local/bin/guile -s!#(system* "touch" "look ma, spaces.txt")

From the documentation:
- Scheme Procedure: system* . args Execute the command indicated by ARGS. The first element must be a string indicating the command to be executed, and the remaining items must be strings representing each of the arguments to that command. This function returns the exit status of the command as provided by `waitpid'. This value can be handled with `status:exit-val' and the related functions. `system*' is similar to `system', but accepts only one string per-argument, and performs no shell interpretation. The command is executed using fork and execlp. Accordingly this function may be safer than `system' in situations where shell interpretation is not required. Example: (system* "echo" "foo" "bar")