Nesse vídeo mostramos algumas técnicas bacanas de Shell Script Web, Frontend(CSS, Javascript, jQuery) rodando em um contêiner Docker com Debian. Assista agora:
Você pode evitar o uso de escapes e do bc
(referência 1:10:25):
_width=$(( ${_cols} * 15 ))
Outra coisa é que é possível evitar situações como
convert -size "$_width"x"$_height"...
É só usar ${}:
convert -size "${_width}x${_height}"...
Simplifica o código e deixa mais fácil de manter
Obrigado pelas dicas, Natanael! Mas veja, só:
-
Os escapes são recomendados quando vc vai unir strings, escapar tudo que estiver em aspas duplas vc tem uma perda de desempenho, porque o código que implementa ele, é uma nova função. É similar quando vc usa:
cat arquivo | grep
egrep arquivo
, vc usa 2 funções no primeiro exemplo. -
No Shell Script, tudo é string, quando vc usa essa forma de cálculo similar a HERE STRINGS , você pode ter diversos tipos de erros. Já a calculadora bc, ela faz um type casting na string e converte a string para o tipo
int
, ou seja, dificilmente erros ocorreram no cáclulo.
Acho que você não acompanha o canal, mas eu sugiro esses vídeos para vocẽ ver que as dicas que vc citou são comumente utilizadas por nós, segue alguns vídeos que eu lhe recomendo:
A ideia do ${}
é justamente essa, evitar escapar caracteres e uso de aspas, por ex:
echo "As dimensões são "$width"x"$height
O bash
precisa analisar duas strings e pegar o valor das variáveis, assim:
echo "As dimensões são ${width}x${height}"
O bash só precisa analisar uma string, vc acaba ganhando alguns “pico-segundos”
Realmente, faz sentido, não pensei nesse caso, como o $(())
não suporta floating points, se visse quebraria o script,