Avoiding repeating myself (on the command line)
Tuesday, October 27th, 2009 21:37I was working on some automated document generation, building the process, revising the input document, and checking the results, and got tired enough of typing "make output/foo.txt && open output/foo.txt" and then going back and editing that line when I wanted to check the PDF version etc. that I wrote a tool which I hope will have more general application as well. I called it “maken”:
#!/bin/sh # Make files and view the results. make "$@" && open "$@"
Or it could be generalized into being a combinator, running any two commands, rather than just make and open, specified as the first two arguments:
#!/bin/sh ca="$1" shift cb="$1" shift "$ca" "$@" && "$cb" "$@"
(Which, for the Haskell folks, should be called &&&, except that that would be annoying to enter in the shell.)