in reply to Re^7: What's wrong with @ARGV - or with me?
in thread What's wrong with @ARGV - or with me?
but because I much prefer cmd.exe to (z|k|z|ba)sh
I'd be interested in knowing your reasons for this. I do most of my work at a linux shell prompt, and I've never really found cmd.exe to be useful for anything other than starting console programs.
I'm not trying to start some windows vs linux flamewar here. I've only had to write a couple of batch files in the last few years, so maybe cmd.exe has more functionality now.
This is one of the uglies from my last script:
for /F "tokens=*" %%i in ('findvmip') do set vmip=%%i%For with the bash equivalent would be a simple
vmip=`findvmip`A quick google also still doesn't turn up any way to create functions in cmd. And command line editing functionality in cmd appears to lack a lot of the (to me) convenient bash stuff as well
So what's the thing that makes cmd preferable for you?
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^9: What's wrong with @ARGV - or with me?
by cdarke (Prior) on Jun 12, 2013 at 15:39 UTC | |
(Sorry to butt into a private conversation, but I couldn't help overhearing) | [reply] |
by Crackers2 (Parson) on Jun 12, 2013 at 17:09 UTC | |
Fair enough. In that case it shouldn't really matter what shell you use though, so other than perhaps for its line-editing functionality there would be no reason to prefer one over the other, right? | [reply] |
Re^9: What's wrong with @ARGV - or with me?
by BrowserUk (Patriarch) on Jun 12, 2013 at 20:37 UTC | |
So what's the thing that makes cmd preferable for you? That's a really good question and one I may take some time to think abaout and come up with a more detailed answer. For now I'll mention 4 things: With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] [d/l] |
by Crackers2 (Parson) on Jun 12, 2013 at 21:07 UTC | |
In part, my preference for the simplicity of cmd.exe is related to my preference for the simplicity of my preferred editor: textpad. I prefer my 'simple', non-programmable editor because it is non-programmable. It is because I do not get tempted to try and perform tasks that actually require a programming language, and then waste time either jumping through hoops trying to make an inadequate tool do what I need; or having to perform a wholesale conversion to a proper programming language, once I reach the limits of the editors built-in facility. Ok that makes sense. For me personally there's still a vast amount of tasks that make more sense to do in the shell than in an actual program, but I can certainly understand the other opinion. Finally, I infinitely prefer the line editing, command line history and cut&paste facilities of a windowed cmd.exe session to anything available on *nix. This one does still puzzle me, because: Every keyboard I've used in the past 20+ years has had arrow keys; home & end; delete & insert; pgup & pgdn; a set of programmable function keys. These keys perform the same tasks in just about every application I use arrows,home/end,pgup/pgdown work the same in most linux terminals as in the windows commands prompt (though I do admit that some may not be set up right by default). The functions keys in the command prompt do not appear to do anything remotely similar to what they do in other apps. (F3 isn't search like it is in most apps, F4 does some delete thing which I've never seen anywhere else) Cut and paste is probably just familiarity; I very much prefer being able to just select with the mouse and right-click to paste over have to explictly click "mark" first. Command history seems a lot more powerful in bash; cmd seems limited to a simple up/down arrow? But that might be another simpler-is-better thing for you? Overall that was a very enlightening answer. I'd been trying to think of functionality that was _missing_ from bash, while it turned out to be not about that at all. | [reply] |
by BrowserUk (Patriarch) on Jun 12, 2013 at 22:05 UTC | |
This one does still puzzle me, because: arrows,home/end,pgup/pgdown work the same in most linux terminals as in the windows commands prompt (though I do admit that some may not be set up right by default). Really? Every *nix console I've ever tried to use generates ansi escape sequences for arrow keys etc. Whilst I did go through the process (with the help of a long-time *nix user) of trying to configure the keyboard to my expectations; we got some of it to work (kind of) and other bits never at all. For example: The functions keys in the command prompt do not appear to do anything remotely similar to what they do in other apps. (F3 isn't search like it is in most apps, F4 does some delete thing which I've never seen anywhere else) I agree that F3:search for a character in the current line; and F8:search for a previous command that begins with what you;ve currently typed; are logically transposed, but if you are used to them... Cut and paste is probably just familiarity; I very much prefer being able to just select with the mouse and right-click to paste over have to explictly click "mark" first. Go into the command window properties->defaults->options tab and select the "quick-edit mode" and you can do exactly that in every command window thence forth. (I've had it that way for so long I'd forgotten it wasn't then default. :) The main problem with c&p under nix shells was that they don't (or I never worked out how to make them) inter-operate with other programs. Ie. I couldn't easily copy from a shell and paste into an editor or browser; or vice versa. Command history seems a lot more powerful in bash; cmd seems limited to a simple up/down arrow? But that might be another simpler-is-better thing for you? Many people have never discovered the following functions: UP and DOWN ARROWS recall commands; ESC clears command line; F7 displays command history; ALT+F7 clears command history; F8 searches command history; F9 selects a command by number; ALT+F10 clears macro definitions. Another factor that many people miss is that cmd.exe uses multiple histories. So text entered to program prompts doesn't get mixed in with commands typed into the shell itself. And if you re-run a command, uparrow recalls text supplied to that program *only*. Run a different program that prompts for input a second time and it will recall only text entered to that program. I believe *nix programs can arrange to have their own separate histories; but if they don't you're stuffed. But yes, in part, it is the simplicity that I like. I just re-read a guide to bash history facilities and have trouble imagining what use I would put most of them them to -- assuming I could remember them in the first place. Overall that was a very enlightening answer. I'd been trying to think of functionality that was _missing_ from bash, while it turned out to be not about that at all. Thanks for asking a good question and avoiding the usual "my god is better than your god" argument :) It is nice to have a civilised discussion. Indeed, I think most people's reaction is haw could you possibly prefer something so simple minded as cmd.exe; completely missing the 'because it is simple' possibility :) With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
by Crackers2 (Parson) on Jun 12, 2013 at 23:00 UTC | |
by BrowserUk (Patriarch) on Jun 13, 2013 at 00:14 UTC | |
| |
by Anonymous Monk on Jun 12, 2013 at 23:46 UTC | |
by BrowserUk (Patriarch) on Jun 13, 2013 at 00:18 UTC |