淺析Unix操作系統(tǒng)用戶輸入的內(nèi)容不回顯
當我們在登陸Unix操作系統(tǒng)時(文本模式下),用戶需要輸入帳戶名與密碼才能夠登陸。當用戶輸入密碼時,在屏幕上不會有任何的提示,連*好掩飾符號都沒有。有時候,系統(tǒng)工程師為了似的腳步程序也可以向這個口令一樣,接收用戶的輸入而不是將內(nèi)容輸出到屏幕上(即用戶輸入的內(nèi)部不回顯到屏幕上),就需要修改echo這個關(guān)鍵字的值。
不要要注意,修改這個關(guān)鍵字的時候需要三步走。
第一步將這個關(guān)鍵字設(shè)置為-echo(表示向密碼那樣不回顯用戶輸入的內(nèi)容)。
第二步不回顯的接收用戶輸入的內(nèi)容,此時用戶的任何輸入不會顯示到屏幕上。
第三步再將這個關(guān)鍵字設(shè)置為echo,即后續(xù)的內(nèi)容允許其顯示在屏幕上。
因為在大部分情況下,都是需要Unix操作系統(tǒng)將用戶輸入的結(jié)果顯示在屏幕上的。否則的話,不能夠保證用戶輸入的準確性。所以,在使用完畢后,一定要講這個關(guān)鍵字設(shè)置為原先的值,即利用stty –echo將這個關(guān)鍵字設(shè)置回來。
這里echo也是利用-號來代表的一個關(guān)鍵字,也就是說這個功能也是一個開關(guān)功能。在設(shè)置時,要么關(guān)閉,要么啟用。而第三種處理方法。也就是說,如果想要用戶輸入的內(nèi)容以*號來代替的話,則需要采用其他的方式。確實,這個以*顯示的方式跟終端設(shè)置無關(guān)。
可見,在Unix操作系統(tǒng)中,對于終端的控制要比在Windows操作系統(tǒng)強的多。
有時候系統(tǒng)工程師為了在多個Unix操作系統(tǒng)版中保證一個比較統(tǒng)一的終端配置,往往會將這些內(nèi)容寫成一個腳本文件。然后遇到一個新的shell時,會先不管三七二十一,執(zhí)行這個腳本。如此,就可以實現(xiàn)Unix終端隨用戶而動,根據(jù)用戶的操作習(xí)慣來進行終端配置的調(diào)整。
【編輯推薦】