É mais um que o número de dois pontos.
no awk:
echo 'awk -F: '{print NF}' <<<"$PATH"'
Com tr (translate) e wc (contagem de palavras):
echo $(('tr -dc : <<<"$PATH" | wc -c'+1))
O caminho é o seguinte:
/usr/lib64/qt3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/mj1210/.local/bin:/home/mj1210/bin
Muitas maneiras de alcançar, aqui está uma maneira que evita a criação de qualquer processo, faz tudo em bash
.
A=${PATH//[^:]}
echo $((${#A}+1))
Exemplo
$ echo $PATH
/usr/lib64/qt3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/mj1210/.local/bin:/home/mj1210/bin
$ A=${PATH//[^:]}
$ echo $((${#A}+1))
9
$
Tags directory