Per prima cosa ho imparato a programmare in una Clingua e ad usare
if ( code )
then
code
fi
mi rende davvero difficile leggere il mio codice (non chiedermi perché). C'è un sostituto per then?
Qualcosa come questo:
if ( code ) {
code
}
fi
Per prima cosa ho imparato a programmare in una Clingua e ad usare
if ( code )
then
code
fi
mi rende davvero difficile leggere il mio codice (non chiedermi perché). C'è un sostituto per then?
Qualcosa come questo:
if ( code ) {
code
}
fi
Risposte:
Non c'è sostituto, ma puoi usare entrambi se hai davvero bisogno delle parentesi graffe:
if true ; then {
something
} fi
Che utilizza un gruppo di comandi esplicitamente rinforzato come corpo del thenblocco. Qualsiasi comando tra parentesi graffe verrà eseguito nella shell corrente solo quando le thenesecuzioni, esattamente come se le parentesi graffe non fossero presenti.
Non consiglierei davvero questo stile in generale o per il codice che qualcun altro dovrà leggere, ma ti dà le parentesi graffe che vuoi e farà il trucco se stai usando un editor che richiede blocchi controventati o qualcosa del genere.
{ if { [[ a == aa ]];};then { echo yes;};else { echo no;}; fi;}- fondamentalmente, quando si usa bashabbastanza, la sintassi standard diventa abbastanza familiare, quindi non è un grosso problema.
Sembra che tu stia cercando la C shell ( csh, tcsh, ecc ...). Essere consapevoli del fatto che gli esperti lo sconsigliano per la programmazione .
Non sono sicuro che la parte che ritieni poco interessante sia il fatto che si thentrova nella riga seguente? In tal caso, considera l'utilizzo del seguente stile:
if condition; then
stuff
fi
Devo ammettere che i nomi delle dichiarazioni ortografiche all'indietro come fiper ife esacper case(ma non elihwper while!) Sono un po 'eccentrici. Ma questa è la shell Bourne standard, la sintassi della shell più portatile che puoi usare.
thenpoco interessante, è solo che il mio editor evidenzierà le {}coppie corrispondenti , e questo è utile per quando ho un qualche tipo di errore perché posso facilmente vedere tutte le mie ifdichiarazioni e vedere se qualcosa è andato storto .
vi's %comando che salta alla corrispondente parentesi graffa / parentesi / staffa. Simpatizzo. Mi manca viil %comando durante la programmazione in Python.
Forse questo è più facile per gli occhi:
[ condition ] && {
# statement 1
# statment 2
# ...
}
A parte questo, abituati. Usa gli idiomi della lingua.
Quanto segue è vicino a lì. E strano.
: if; { code; } && {
code
}
Personalmente non mi è mai piaciuto il ...
if true; then
more;fi
... forma me stesso. Mi piace quando le parole di controllo portano . Mi è sempre sembrato strano che la ...;thenforma prevalente fosse nata.
if this && that
then do these things too
else i will probably get upset
fi
È quasi del tutto opposto alla tua richiesta, ma è un altro modo per farlo. Puoi anche virare qualsiasi reindirizzamento desiderato sulla filinea secondo necessità e si applicheranno all'intero blocco.
if(...) {, ovvero lasciare una parentesi aperta sulla stessa linea dei iflinguaggi simili al C.
ifcomando, anche se sulla riga successiva.
;delim in quel caso. È per questo che lo fanno.
:shell incorporata in questo modo, proprio così una riga di codice potrebbe essere più vicina al byte alla sintassi C, non dovrebbe essere incoraggiata in alcun modo.
Uso sempre:
if (code); then
code;
fi
Probabilmente non è esattamente quello che vuoi, ma è un po 'più c.