Ich habe zuerst gelernt, wie man in einer C
Sprache 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
shell-script
智障 的 人
quelle
quelle
Antworten:
Es gibt keinen Ersatz, aber Sie können beide verwenden, wenn Sie die Zahnspange wirklich benötigen:
Dabei wird eine unnötige explizit geschweifte Befehlsgruppe als Hauptteil des
then
Blocks verwendet. Alle Befehle in den geschweiften Klammern werden nur in der aktuellen Shell ausgeführt, wenn sie ausgeführt werdenthen
, 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.
quelle
{ if { [[ a == aa ]];};then { echo yes;};else { echo no;}; fi;}
- Wenn Siebash
genug 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,
then
in der folgenden Zeile steht. In diesem Fall sollten Sie den folgenden Stil verwenden:Ich muss zugeben, dass Rechtschreibanweisungen rückwärts wie
fi
fürif
undesac
fürcase
(aber nichtelihw
fürwhile
!) Etwas eigenartig sind. Aber das ist die Standard-Bourne-Shell, die portabelste Shell-Syntax, die Sie verwenden können.quelle
then
unattraktiv. Mein Editor hebt nur die entsprechenden{}
Paare hervor. Dies ist hilfreich, wenn ich einen Fehler habe, da ich dann alle meineif
Aussagen leicht sehen und feststellen kann, ob etwas schief gelaufen ist .vi
,%
der zur passenden Klammer / Klammer / Klammer springt. Ich sympathisiere. Ich vermissevi
den%
Befehl beim Programmieren in Python.Vielleicht schont das die Augen:
Ansonsten gewöhne dich einfach daran. Verwenden Sie die Redewendungen der Sprache.
quelle
Das Folgende ist in der Nähe von dort. Und komisch.
Ich persönlich mochte die ...
... bilde mich. Ich mag es, wenn die Kontrollwörter führen . Es kam mir immer seltsam vor, dass die vorherrschende
...;then
Form überhaupt zustande kam.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
fi
Zeile anheften, die für den gesamten Block gelten.quelle
if(...) {
, dh die öffnende Klammer bleibt in derselben Zeile wieif
in C-ähnlichen Sprachen.if
Befehls 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.Hier ist ein Weg:
ist äquivalent zu:
quelle
{...}
um dasecho "found"
, und dann gehen Sie in die richtige Richtung.Ich benutze immer:
Wahrscheinlich nicht genau das, was Sie wollen, aber es ist ein bisschen mehr wie.
quelle