4 ms·
You can't plan for user stupidity. The system paths do not have spaces in them.
by pavanky 13y ago
You can't plan for user stupidity. The system paths do not have spaces in them.
- harrytuttle 13y agoNo but allowing leading and trailing spaces is not user stupidity. That is design stupidity. You know like recording numbers as string in the format: "0000000000000000000000000123.23210000000000000"
- icebraining 13y agoThe shell by default ignores spaces, you have to specifically force it to acknowledge them by enclosing the name in quotation marks or escaping with a backslash. In that situation, a command line tool should do what it's told, not disobey a direct command. Leave the rubber padded tools for the GUI land.
- harrytuttle 13y agoRubber padded I do not expect. Retarded I also do not expect. Explain the validity of: mkdir " " mkdir " " mkdir " " ? It at least violates the principle of least surprise
- icebraining 13y agoValidity? It's a string like any other. It's not mkdir's job to second-guess what I tell it to do. And I don't see how it violated such principle. You tell it to create a file with spaces - you even emphasized them with quotes -, and you're surprise it did so?
- harrytuttle 13y agoIt is merely an illustration. The reality is stuff like that occasionally does happen when you use variables and parse results from other commands.
- phaemon 13y agoNo it's not. If you type mkdir ..<space> it tells you "cannot create directory". You have to explicitly tell it you want a space in by using quotes (as you well know). Oh, and it's my computer. I don't want my shell telling me what I'm "allowed" to do. If I explicitly tell it to do something, it should damn well do it!
- harrytuttle 13y agoWhat if you do the following? VARX=".. " # by accident as the result of a command mkdir $VARX
- agumonkey 13y agoSure, but a non-ambiguous external representation should be mandatory when a semantic value conflates with a presentation one. Here ' ' is part of both worlds: . .. .. A first idea: . .. ..\ ls may also take inspiration from bash completion, where dirsep serves as a better delimiter than ' ' noob ~ $ mkdir -pv lsb/wat noob ~ $ cd lsb/wat noob ~/lsb/wat $ mkdir ".. " noob ~/lsb/wat $ ls -lah total 12K drwxr-xr-x 3 noob noob 4,0K august 28 16:52 . drwxr-xr-x 3 noob noob 4,0K august 28 16:52 .. drwxr-xr-x 2 noob noob 4,0K august 28 16:52 .. noob ~/lsb/wat $ cd ..<TAB-COMPLETION> ../ .. /