4 ms·
I explicitly included zsh. The point is not the language of the shell itself; that has never been the point. The point is that zsh interoperates with the othe
by moonchild 6y ago
I explicitly included zsh. The point is not the language of the shell itself; that has never been the point. The point is that zsh interoperates with the other programs on your system in a way that crush doesn't and can't.
- viraptor 6y ago> a way that crush doesn't and can't What do you mean by can't? If it misses some mode of interaction, that can be always added.
- ori_b 6y agoConsistent behavior when piping through all commands. A lack of modes of operation to consider. Simplicity.
- viraptor 6y agoSimplicity exists on more than a single dimension. Choosing one column from "ls" output for example is not simple, bordering on impossible using the consistent behaviour of standard pipes. Sometimes the inconsistent solution will be simpler by moving the complexity to the choice of the mode of interaction. Sometimes not.
- ori_b 6y agoMaybe a shell is the wrong tool for that job, and hiding the modes that the language is operating in complicates things.
- ratboy666 6y agoYou are correct. It is all about how you think about things. "ls" lists files. Sure. Simple interactive command. But, thinking about this, "echo " also lists files. "ls" provides information about files. Sure. Simple interactive command. But, "stat" specifically provides information. So, I would reach for stat --format "%n %a" To get name and octal permissions. You are correct, and wrong at the same time. Easy enough to accomplish -- but using * instead of ls. Note that the "space in filename" becomes the big issue (use %N in stat format). So your conclusion is 100% correct. Thank you for your post and insight
- moonchild 6y ago> Choosing one column from "ls" output for example is not simple, bordering on impossible using the consistent behaviour of standard pipes. ls -l | awk '{print $3}' ls -l | cut -f 3 -d ' '