我希望我不會問一些會破壞堆棧溢出用戶偉大思想的東西;我相信我已經完成了我的功課,但卻空手而歸。運行loginhook,但得到當前登錄用戶的UID
在OS X中,我試圖創建一個loginhook來檢查文件是否存在於/ usr/share文件夾中,如果它不存在,它應該創建一個空文件,標題爲登錄的用戶的UID。
例如,如果我的UID是501,登錄時腳本應檢查/ usr/share中是否存在名爲「501」的文件。如果它不存在,它應該創建它。
我遇到的問題是所有的loginhook都以root身份運行,所以如果創建了一個文件,它的文件名就是「0」。
我想出了迄今爲止唯一的一點是:
#!/bin/bash
userID=$(id -u)
if [ ! /usr/share/$userID ]
touch /usr/share/$userID
fi
嗯,我認爲它有效,但是當我運行腳本時,它創建了一個標題爲65的文件,這意味着具有65的UID的帳戶運行該進程。在執行「dscl -plist。readall/users」之後,我發現帳號是mDNSResponder ..所以這很奇怪。不過,我認爲你已經讓我走上了正確的道路,Vego。 :)我會發布更新,如果我找到我正在尋找的答案。 – Semibeard