Aprendi a codificar em um C
idioma e usando
if ( code )
then
code
fi
torna muito difícil ler meu código (não pergunte o porquê). Existe um substituto para then
?
Algo assim:
if ( code ) {
code
}
fi
shell-script
智障 的 人
fonte
fonte
Respostas:
Não há substituto, mas você pode usar os dois se realmente precisar do aparelho:
Isso usa um grupo de comandos desnecessário, explicitamente preparado , como o corpo do
then
bloco. Qualquer comando nos chavetas será executado apenas no shell atual quando asthen
execuções forem executadas , exatamente como se as chaves não estivessem lá.Eu realmente não recomendaria esse estilo em geral ou para o código que outra pessoa precisará ler, mas ele fornece os aparelhos que você deseja e serve para o truque se você estiver usando um editor que exija blocos ou algo parecido.
fonte
{ if { [[ a == aa ]];};then { echo yes;};else { echo no;}; fi;}
- basicamente, quando você usa obash
suficiente, a sintaxe padrão se torna familiar o suficiente, para que não seja um problema.Você parece estar olhando para o shell C (
csh
,tcsh
, etc ...). Esteja ciente de que os especialistas não recomendam a programação .Não tenho certeza se a parte que você considera desagradável é o fato que
then
está na linha a seguir? Nesse caso, considere usar o seguinte estilo:Eu tenho que admitir que os nomes das instruções de ortografia ao contrário, como
fi
paraif
eesac
paracase
(mas nãoelihw
parawhile
!), São meio peculiares. Mas esse é o shell Bourne padrão, a sintaxe do shell mais portátil que você pode usar.fonte
then
desagradável, é apenas que o meu editor destacará os{}
pares correspondentes , e isso é útil para quando eu tiver algum tipo de erro, porque então eu posso ver facilmente todas as minhasif
declarações e ver se algo deu errado .vi
do%
comando que salta para a cinta de correspondência / parêntese / suporte. Eu simpatizo. Sinto faltavi
do%
comando ao programar em Python.Talvez isso seja mais fácil para os olhos:
Fora isso, apenas se acostume. Use os idiomas do idioma.
fonte
O seguinte está próximo de lá. E esquisito.
Eu pessoalmente nunca gostei do ...
... me formar. Eu gosto quando as palavras de controle levam . Sempre me pareceu estranho que a
...;then
forma predominante surgisse.É quase totalmente oposto ao seu pedido, mas é outra maneira de fazer isso. Você também pode
fi
alinhar qualquer redirecionamento desejado na linha, conforme necessário, e eles serão aplicados a todo o bloco.fonte
if(...) {
, ou seja, deixando a chave de abertura na mesma linha queif
nas línguas do tipo C.if
comando, mesmo que na próxima linha.;
delim nesse caso. É por isso que eles fazem.:
shell incorporado dessa maneira, apenas para que uma linha de código possa estar mais próxima da sintaxe C, não deve ser incentivada de forma alguma.Aqui está uma maneira:
é equivalente a:
fonte
{...}
ao redor doecho "found"
, e então você estará indo na direção certa.Eu sempre uso:
Provavelmente não é exatamente o que você quer, mas é um pouco mais parecido com.
fonte