Hacker News new | ask | show | jobs
by yjftsjthsd-h 633 days ago
A pattern I typically do

    foo && \
    bar && \
    baz && \
    :
or so, which is less verbose but short and sweet. Obviously slightly different, but : (no-op) seems applicable to your situation.
2 comments

You don't need the backslashes in that case. As with lines ending in pipes and a few other places, the line continuation is implicit after the &&:

https://unix.stackexchange.com/questions/253518/where-are-ba...

Huh, neat. So I picked that habit up from writing Dockerfiles, which does let you do

    RUN foo && \
        bar && \
        :
but not

    RUN foo &&
        bar &&
        :
(I just tested it), but more recently you can just write

    RUN <<EOF
    foo
    bar
    EOF
so with the caveat of needing to `set -e` the whole thing might be a moot point now:)
Clever! ...almost TOO clever... ;-)

That's a great technique, but the `:` as no-op is tough to expect bash-normies to understand (and a tough "operator" to search for). Thanks for sharing, it'll definitely stay in my back pocket!