路径如下:
/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。
在 awk 中:
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
$