while read -d: dir
do
[ -d "$dir" ] || echo "Missing: $dir"
done <<<"${PATH%:}:"
read -d: dir lê a entrada na variável dir , quebrando a entrada em : .
[ -d "$dir" ] testa a existência do diretório
|| apenas executa a declaração a seguir se a declaração anterior retornar falso.
<<<"${PATH%:}:" fornece entrada para o loop usando uma string aqui . O formulário "${PATH%:}:" garante que um : siga a sequência PATH. Isso é feito em duas etapas. O primeiro usa a remoção do sufixo , ${PATH%:} , para remover um : do PATH se houver um. Em segundo lugar, um cólon é adicionado.