O comando em sua postagem ( grep -o "/" $PWD | wc -l
) tentará usar o $PWD
como um destino, em vez da sequência de caracteres que compõe esse caminho.
Para alcançar o efeito pretendido, você pode fazer echo $PWD | grep -o "/" | wc -l
.
Como alternativa, como o objetivo é encontrar a profundidade do caminho, você pode contar o número de diretórios nesse caminho em vez do número de barras.
Por exemplo:
echo "$PWD" | tr " /" "- " | wc -w
tr
traduz todos os espaços para o caractere "-" e todos os "/" para espaços. wc -w
, em seguida, conta o número de palavras na saída anterior. Isso garante que cada diretório conte apenas como uma palavra, mesmo que contenham espaços em seus nomes. Além disso, como não estamos contando o número de "/", verificar sua profundidade no diretório raiz indicará uma profundidade de 0.
-
Exemplo 1:
$ pwd /tmp/test directory $ echo "$PWD" | tr " /" "- " | wc -w 2
-
Exemplo 2:
$ pwd / $ echo "$PWD" | tr " /" "- " | wc -w 0