해당 경로에 몇 개의 디렉터리가 있는지 어떻게 알 수 있나요?

해당 경로에 몇 개의 디렉터리가 있는지 어떻게 알 수 있나요?

경로는 다음과 같습니다. /usr/lib64/qt3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/mj1210/.local/bin:/home/mj1210/bin

답변1

콜론 수보다 1개 더 많습니다.

전혀:

echo `awk -F: '{print NF}' <<<"$PATH"`

tr(번역) 및 wc(단어 수)를 사용합니다.

echo $((`tr -dc : <<<"$PATH" | wc -c`+1))

답변2

이를 수행하는 방법은 여러 가지가 있습니다. 여기서는 프로세스 생성을 피하고 모든 것을 bash.

A=${PATH//[^:]}
echo $((${#A}+1))

$ 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
$

관련 정보