故障現象:登錄Linux系統顯示-bash: LANG=zh_CN: command not found,切換用戶也顯示該信息。
解決過程:
1、懷疑是自動加載的文件中有問題,當手動加載profile文件時,顯示該-bash信息
如圖所示加載文件的順序,結合報錯信息是有關LANG變量,於是找到/etc/sysconfig/i18n文件。執行該文件顯示報錯信息,重新創建該文件,並輸入相同內容,故障現象消失。
2、說明之前的i18n文件存在問題,使用cat命令查看,內容一致,未發現問題。通過cksum命令校驗這兩個文件,發現信息不同,通過diff命令對比兩個文件,發現不同。通過cat -A查看文件隱藏字符,發現卻有隱藏字符。
使用vi命令刪除隱藏字符,顯示隱藏字符的方式如下:
方式1:通過 :set invlist,但是這種方式只會顯示^I $ 這樣的字符
方式2:通過 :%!cat -A 可以查看具體的信息
刪除隱藏字符保存之后,隱藏字符仍存在,通過file命令發現這兩個文件類型不一樣。