passo a passo.
-
until sudo -n true 2> /dev/null; do
avaliesudo -n true
, descarte o erro padrão e forneça o código de retorno parauntil
. -
$(sudo -n true 2> /dev/null)
this2.1 avalie
sudo -n true
,2,2 descartar erro padrão 2 > / dev / null
2.3 pegue a saída padrão empty
-
until [[ $(sudo -n true 2> /dev/null) ]]; do
this3.1-3.3 o mesmo que acima
3.4 use [[<>> vazio ]] este é provavelmente um erro
-
until [[ $(sudo -n true 2> /dev/null; echo "$?") -ne 0 ]]; do
this4,1 a 4,4 iguais aos anteriores
4.5 compare vazio para 0
A primeira linha é a corret, sudo
fornece um código de retorno, simplesmente use-a.
Um erro comum é confundir o código de retorno: um inteiro (geralmente 0 ou 1 ou 2 (Nenhum arquivo ou diretório)), com saída (pode ser qualquer coisa, texto ou binário).
Shells (bash / dash / whateversh) podem ser avisados para ver o código de retorno ( set -e
) ou em test
.