Le 12/10/2013 18:27, Dan McGhee a écrit :
> I'm melding my build script to the current one from this hint. I've
> found a possible syntax error and want to see if my thinking is
> correct. Since I've been monitoring this list closely again, i.e.; the
> last three weeks, I've not seen anyone who has had a problem running
> this script. But I think that few people build this way. :)
>
> Here is the line in question:
>
> cd "$HOME/xxxbuild/yyysrc" && srcdir="$(pwd)" || exit 1
>
> This patter occurs a number of times in the script and, therefore, I
> think it's important. For this question the references to what actually
> exist are not relevant. It's only the syntax. In attempting to
> understand what this statement is doing, I've come up with this plain
> language interpretation.
>
> "Change to the package build directory IF AND ONLY IF the package source
> directory is the same as the current directory OR exit with a status of 1."
>
> In typing this I've also generated a question about the "'s, but it's
> the use of the logical operators, which I've capitalized, that has my
> attention. Here's the question:
>
> If <&&> and <||> are logical operators, shouldn't the whole command be
> enclosed in double brackets,
> [[ command1 && command2 || command3 ]]? The other syntax I know would be
> [ command1 -a command2 -o command3 ].
>
> Of course, this is all predicated on the use of <&&> and <||> as logical
> operators. But if they're not, I don't understand the command.
>
> Comments? Answers? Recommendations? Rants?
>
> Thanks,
> Dan
Well, dunno if this is rant, recommandation or comment, but you should have a
look
at the paragraph about "Lists" in the bash manpage.
It's all explained there, much better than I would.
But now a rough answer: the meaning of this line is:
change directory to ${HOME}/blah. If that succeeds, set the srcdir variable to
the
full path to that directory. If either of the preceding commands fails then
exit with error code.
Regards
Pierre
--
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page