Shell
您可以在命令視窗中用其他內容替換顯示的文本嗎?
我正在嘗試管理使用者帳戶。它們基本上只是數字,但我寧願在螢幕上看到使用者姓氏。是否可以用其他內容自動替換顯示的文本?
例如,當我去
/home/users
輸入時ls-al
,我能以某種方式看到:Smith Johnson Adams Andrews
代替
001 002 003 004
或者我能以某種方式看到兩者嗎?
001 "Smith" 002 "Johnson" 003 "Adams" 004 "Andrews"
如果我理解正確,您按數字命名了所有使用者,並且您想查看他們的姓氏。
他們的姓氏儲存在哪裡?換句話說,您需要在名稱和數字之間建立某種關聯;這些資訊的來源在哪裡?
ls
假設您有一些將 NUMBER 與 LAST-NAME 相關聯的主列表,那麼您可以為自己設置一個前端。例如:如果你有一個文件“usernames.list”:
001 Smith 002 Johnson 003 Adams 004 Andrews
然後你可以編寫一個循環來重新實現
ls
,但你的列表和它在 /home 中找到的鍵之間存在相關性:for DIR in * ; do fgrep ${DIR} /path/to/usernames.list ; done
哪個會列印:
001 Smith 002 Johnson 003 Adams 004 Andrews
如果您的使用者列表比那些鍵/值對更複雜,您可以根據需要使用
cut
來解析資訊。鄭重聲明,這不是管理使用者的標準方式。
POSIX 系統上的使用者已經擁有唯一標識符(使用者 ID,請參見
id
命令),因此從 001 開始逐步命名所有使用者絕對不理想。