Bash
顯示註冊使用者數
如何在系統上顯示其主目錄位於 /home 並同時將 Bash Shell 作為命令解釋器的註冊使用者數?
您可以只為具有(因此以 開頭的欄位)的行
grep
的文件,然後是更多的非字元,並且在結束前只有一個,後面應該是:/etc/password``:/home``/home``:``:``/bin/bash
$ grep ':/home/[^:]*:/bin/bash' /etc/passwd terdon:x:1000:1000::/home/terdon:/bin/bash bib:x:1001:1001::/home/bib:/bin/bash
因此,僅顯示數字:
$ grep -c ':/home/[^:]*:/bin/bash' /etc/passwd 2
使用
getent
和awk
:getent passwd | awk -F: '$6 ~ "^/home/" && $7 ~ "bash$"{print $1}'
這將
/home/
在其主目錄中查找所有具有路徑且其 shell 設置為 bash 的使用者,並列印使用者名列表。如果您只希望它僅返回使用者數,您可以將
awk
程序修改為:getent passwd | awk -F: '$6 ~ "^/home/" && $7 ~ "bash$"{c+=1}END{print c}'