On Tuesday, 14 August 2012 at 04:09:22 UTC, Nick Sabalausky wrote:
On Mon, 13 Aug 2012 17:36:13 +0200
"jerro" <a...@a.com> wrote:

> I probably should make it so it automatically wraps the code > in a main function for even easier and more script like > usage.

Rdmd already has this functionality with the --eval flag. You are supposed to pass the code as a command line parameter, but you can use it with files like this:

cat - test.d <<< "--eval=" | xargs -0 rdmd

I've only tried this on Linux.

As a person who's still only half-way a Linux guy, I have to ask: What
the hell is going on in that command?

I understand bits and pieces of it, but my mind's having a hard time
parsing it. Can any of you unix gurus help me out?

Run the "cat" program, which prints two file contents: the first file is stdin (denoted by "-"), which contains the text "--eval=", via the <<< redirector. Cat then prints the contents of test.d. All of this is piped in to "xargs", which calls dmd along with the command line arguments consisting of the piped input.

It's overly complicated. Try this instead:

rdmd --eval="$(cat test.d)"

Best,
Graham

Reply via email to