On Tue, Dec 6, 2016 at 6:08 AM, Michael Torrie <torr...@gmail.com> wrote: > Agreed. I do this sort of trick all the time, even when I want to pass > just a single file to a program. I often use expansion for paths as well: > > somecommand /path/to/somelongname*withendpart/myepisode*2x03*mp4 >
"somecommand" is "vlc", isn't it :D And I agree. I do this too. If you tab complete it, you can't as easily use the up arrow. Compare: vlc /video/Music/ASongToSingO/203* vlc /video/Music/ASongToSingO/203\ Bugs\ Bunny\ at\ the\ Gaiety.ogg The latter came from "203<tab>". Now, you want to play track 216 "Trial by Ruddy Patience" next. With the first one, it's up, left, backspace two, patch in the new number, hit enter. With the second, you have to backspace the whole title, then put in 216, and tab-complete it again. Now, VLC on Windows is probably capable of expanding globs, but why should it bother? Bash gives the exact same result for both of those commands. Plus, the Windows method depends on the globbing characters being INVALID in file names. You absolutely cannot create a file called "What's up, doc?.mkv" on Windows. And I'm not sure what other characters are valid - are you allowed quotes? If so, how do you quote the quote character? And what happens with network mounts? With the Unix model, where the shell does the work, it's the shell's job to provide an escaping mechanism. The shell doesn't have to be externally consistent (although it helps a lot), but it can be perfectly internally consistent. The *system* simply passes everything along as-is, as an array of arguments. Windows gives you less freedom than Unix does. ChrisA -- https://mail.python.org/mailman/listinfo/python-list