Per prima cosa ho imparato a programmare in una C
lingua 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 C
lingua 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 then
blocco. Qualsiasi comando tra parentesi graffe verrà eseguito nella shell corrente solo quando le then
esecuzioni, 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 bash
abbastanza, 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 then
trova 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 fi
per if
e esac
per case
(ma non elihw
per while
!) Sono un po 'eccentrici. Ma questa è la shell Bourne standard, la sintassi della shell più portatile che puoi usare.
then
poco 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 if
dichiarazioni e vedere se qualcosa è andato storto .
vi
's %
comando che salta alla corrispondente parentesi graffa / parentesi / staffa. Simpatizzo. Mi manca vi
il %
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 ...;then
forma 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 fi
linea secondo necessità e si applicheranno all'intero blocco.
if(...) {
, ovvero lasciare una parentesi aperta sulla stessa linea dei if
linguaggi simili al C.
if
comando, 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.