• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Bash quibbles

    January 23rd, 2009
    shell, programming  [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:

    More on the Deutschlandtakt

    The Deutschlandtakt plans are out now. They cover investment through 2040, but even beforehand, there’s a plan for something like a national integrated timetable by 2030, with trains connecting the major cities every 30 minutes rather than hourly. But the…

    via Pedestrian Observations July 1, 2020

    How do cars fare in crash tests they're not specifically optimized for?

    Any time you have a benchmark that gets taken seriously, some people will start gaming the benchmark. Some famous examples in computing are the CPU benchmark specfp and video game benchmarks. With specfp, Sun managed to increase its score on 179.art (a su…

    via Posts on Dan Luu June 30, 2020

    Quick note on the name of this blog

    When I was 21 a friend introduced me to a volume of poems by the 14th-century Persian poet Hafiz, translated by Daniel Ladinsky. I loved them, and eventually named this blog for one of my favorite ones. At some point I read more and found that Ladinsky’s …

    via The whole sky June 21, 2020

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact