Ich habe zuerst gelernt, wie man in einer CSprache codiert und verwendet
if ( code )
then
code
fi
macht es mir wirklich schwer, meinen Code zu lesen (frag nicht warum). Gibt es einen Ersatz für then?
Etwas wie das:
if ( code ) {
code
}
fi
Ich habe zuerst gelernt, wie man in einer CSprache codiert und verwendet
if ( code )
then
code
fi
macht es mir wirklich schwer, meinen Code zu lesen (frag nicht warum). Gibt es einen Ersatz für then?
Etwas wie das:
if ( code ) {
code
}
fi
Antworten:
Es gibt keinen Ersatz, aber Sie können beide verwenden, wenn Sie die Zahnspange wirklich benötigen:
if true ; then {
something
} fi
Dabei wird eine unnötige explizit geschweifte Befehlsgruppe als Hauptteil des thenBlocks verwendet. Alle Befehle in den geschweiften Klammern werden nur in der aktuellen Shell ausgeführt, wenn sie ausgeführt werden then, genau so, als ob die geschweiften Klammern nicht vorhanden wären.
Ich würde diesen Stil im Allgemeinen oder für Code, den jemand anderes lesen muss, nicht wirklich empfehlen, aber er gibt Ihnen die gewünschten Klammern, und er reicht aus, wenn Sie einen Editor verwenden, der Klammern oder Blöcke erfordert sowas in der Art.
{ if { [[ a == aa ]];};then { echo yes;};else { echo no;}; fi;}- Wenn Sie bashgenug verwenden, wird die Standardsyntax im Grunde genug vertraut, so dass es kein großes Problem ist.
Sie scheinen für das zu suchen C - Shell ( csh, tcsh, etc ...). Beachten Sie, dass Experten für die Programmierung dagegen raten .
Ich bin mir nicht sicher, ob der Teil, den Sie für unattraktiv halten, thenin der folgenden Zeile steht. In diesem Fall sollten Sie den folgenden Stil verwenden:
if condition; then
stuff
fi
Ich muss zugeben, dass Rechtschreibanweisungen rückwärts wie fifür ifund esacfür case(aber nicht elihwfür while!) Etwas eigenartig sind. Aber das ist die Standard-Bourne-Shell, die portabelste Shell-Syntax, die Sie verwenden können.
thenunattraktiv. Mein Editor hebt nur die entsprechenden {}Paare hervor. Dies ist hilfreich, wenn ich einen Fehler habe, da ich dann alle meine ifAussagen leicht sehen und feststellen kann, ob etwas schief gelaufen ist .
vi, %der zur passenden Klammer / Klammer / Klammer springt. Ich sympathisiere. Ich vermisse viden %Befehl beim Programmieren in Python.
Vielleicht schont das die Augen:
[ condition ] && {
# statement 1
# statment 2
# ...
}
Ansonsten gewöhne dich einfach daran. Verwenden Sie die Redewendungen der Sprache.
Das Folgende ist in der Nähe von dort. Und komisch.
: if; { code; } && {
code
}
Ich persönlich mochte die ...
if true; then
more;fi
... bilde mich. Ich mag es, wenn die Kontrollwörter führen . Es kam mir immer seltsam vor, dass die vorherrschende ...;thenForm überhaupt zustande kam.
if this && that
then do these things too
else i will probably get upset
fi
Es ist fast völlig entgegengesetzt zu Ihrer Anfrage, aber es ist eine andere Möglichkeit, dies zu tun. Sie können bei Bedarf auch beliebige Weiterleitungen an die fiZeile anheften, die für den gesamten Block gelten.
if(...) {, dh die öffnende Klammer bleibt in derselben Zeile wie ifin C-ähnlichen Sprachen.
ifBefehls suchen , auch wenn er sich in der nächsten Zeile befindet.
;in diesem Fall müssen Sie das Delim verwenden. Deshalb tun sie es.
:eingebaute Shell verwenden, damit eine Codezeile byteweise näher an der C-Syntax liegt, sollte dies in keiner Weise gefördert werden.
Ich benutze immer:
if (code); then
code;
fi
Wahrscheinlich nicht genau das, was Sie wollen, aber es ist ein bisschen mehr wie.