今天處理一個suse上的問題時,我問同事他在那個系統上的用戶的主目錄在哪里,他搞了半天不知道,原因是這個用戶是先前某個人創建的.本來我想讓他自己直接在/etc/passwd文件中找的,考慮到那個系統里有多人在用,找起來沒那么方便,我就直接寫了一小截shell 語句.
cat /etc/passwd | grep `whoami` | awk –F: '{print $6}'
本來,如果用戶當前的shell是bash,直接cd ~就到主目錄了,不過其它shell下,不一定能識別出來~的含義.所以上面那條組合的shell 命令就比較管用了.
至於這條組合shell命令的含義,就是先把passwd文件打印出來,內容通過管道重定向到 grep,查找出其中包含了當前的操作者用戶名的行,然后在把這些行重定向到awk,通過awk打印出以冒號分隔開的數據的第6列的值(第6列就是主目錄了).