• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Bash quibbles

    January 23rd, 2009
    programming, shell  [html]
    I like bash. It does a lot of things well and makes my life on the command line a lot more pleasant. It generally has nice tab completion, but there are some ways it would work better, though:
    1. Tab completion on paths containing environment variables should not expand them. Or if it is going to expand them, it should not follow with a space. If I'm doing everything relative to the directory $ON_B then I don't care that it expands to /nfs/man/this/path/is/freakin/long/on_b. With my shell PS1 hack (below) I don't have to see this depth all the time, but it could be even better.
    2. Tab completion should understand filename wildcards. If I have 'ls $ON_B/{a,b}*/repor and press tab then I want to have the command replaced by ls $ON_B/{a,b}*/report/. The logic is a little tricky. And there's even a bit of ambiguity: if the directory reporting appears in one (or more) of the possible expansions but not in all of them, while the directory report appears in all, do we ignore reporting? This affects whether we append the trailing slash in this case, and has widespread effects in other cases. I'm inclined to have it complete only with things that exist in all matches. Note that with this completion rule, to get something that exists in some of the matches, you need to edit the path being completed to rule out the things that don't have it. So while I wouldn't complete reporting from ls $ON_B/{a,b}*/repor if any of the dirs didn't have reporting, I would complete it from ls $ON_B/{a,b}*/reporti.

    On a completely different subject, I've started using the InvertColors Firefox addon, and it makes pages look a lot nicer.

    Comment via: facebook

    Recent posts on blogs I like:

    Collections: Teaching Paradox, Europa Universalis IV, Part II: Red Queens

    This is the second part in a series (I) that examines the historical assumptions behind Paradox Interactive’s grand strategy computer game set in the early modern period, Europa Universalis IV (EU4). Last time, we took a look at how EU4 was a game fundame…

    via A Collection of Unmitigated Pedantry May 7, 2021

    Amtrak’s Continued Ignorance

    There was a congressional hearing about high-speed rail. Henry Miller in comments here took notes – thanks for this, much appreciated! The overall content was lacking; the politicians seemed like they were spinning their wheels, not because they themselve…

    via Pedestrian Observations May 7, 2021

    Books and websites on babies

    Several people I know are expecting a first baby soon, and I wrote up notes for one of them. Might as well share here too: Medical:Scott Alexander’s Biodeterminist’s Guide to Parenting is an interesting read, and some parts are actionable.  If you live in…

    via The whole sky April 14, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact