そのパスにいくつのディレクトリがあるかどうかはどうすればわかりますか?

そのパスにいくつのディレクトリがあるかどうかはどうすればわかりますか?

パスは次のとおりです。 /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
$

関連情報