-
Não coloque comandos dentro de colchetes. Para fazer um loop enquanto
grep
é bem-sucedida (ou seja, até falhar), apenas façawhile grep ... do ︙ done
-
Para fazer um loop enquanto
grep
falhar (ou seja, até que seja bem-sucedido), façawhile ! grep ... do ︙ done
com espaço em branco (ou seja, um ou mais espaços e / ou tabulações) entre o
!
e o comando. -
Você deve sempre citar suas referências de variáveis de shell (por exemplo,
"$path"
) a menos que você tenha uma boa razão para não e você tem certeza de que sabe o que está fazendo. Por outro lado, enquanto chaves podem ser importantes, eles não são tão importantes quanto as citações então"$text"
e"$path"
são bons o suficiente (você não precisa usar"${text}"
e"${path}"
, neste contexto).… a menos que
path
possa ser definido para uma lista de nomes de arquivos, nesse caso, veja Implicações de segurança do esquecimento de citar uma variável em shells bash / POSIX - Mas e se…? -
Você não precisa do ponto-e-vírgula (
;
) no final da linhawhile
(a menos que você coloque odo
depois dele). Em outras palavras, a linhawhile
e odo
devem ser separados por um ponto e vírgula e / ou uma ou mais novas linhas.