1. 程式人生 > >linux下環境變數配置錯誤導致不能登入的及命令失效解決方案

linux下環境變數配置錯誤導致不能登入的及命令失效解決方案

本文轉載自(http://blog.sina.com.cn/s/blog_7cd0c0a80100xrnf.html)
Linux像個羞澀又不善言辭的姑娘,走進她的世界著實需要下一番功夫才成,而且一個不小心她就死給你看,並且連個遺書都沒有.....

裝JDK後修改/etc/profile檔案配置環境變數,從網上扒下來輸入到檔案尾(知道為啥哥不用複製貼上麼?因為TNND這個vi編輯器實在搞不明白,期間為了順利輸入那幾行字母各種百度求知的狗血過程就不寫了,丟人),然後登出,重登入。測試Java環境成功否,結果卻沒有預想中的輸出。看來配置錯誤了。然後吧我就怎麼看環境變數中用冒號分隔的兩個路徑怎麼不順眼(Windows下是用分號分隔的,慣性思維害死人啊),於是就給改成了分號,然後再重登入,重登入,我重登入。。。我來個擦,為何怎麼登入都是登入失敗?

當時第一反映是被黑了,被人拿了許可權改了密碼。不過虛擬機器和本機win7共享上網,還有個路由擋在外面,哪兒那麼容易被黑啊。再說有能耐搞掉Linux的黑客也不會素質這麼差。肯定是自己改的那個環境變數有問題。於是以這個關鍵點開始尋找解決方案。

度娘告訴了我一件很重要的事情那就是如果/etc/profile檔案配置錯誤的話,會導致圖形介面的登入失敗先驅者們也給出瞭解決方案,很好理解——用字元介面登入然後修改profile檔案就OK了。

在Ubuntu的登入介面按Ctrl+Alt+F1,會切換到字元介面登入。輸入使用者名稱和密碼,這時候會提示一堆錯誤。既然可以登入,問題就基本等於解決了。於是乎嘗試sudo vi/etc/profile,但提示了一堆不知所云的什麼東西。全方塊。明顯是由於環境變數的錯誤導致這些基本的命令都無法使用。由於系統的命令本質上也是可執行程式

,只不過有環境變數的存在使得我們不用每次都輸入那冗長的路徑,那麼現在這種情況輸入命令程式所在的絕對路徑就應該可以解決問題。

查了下Linux的命令都在/usr/bin下面,這樣將上面的命令修改成:

/usr/bin/sudo/usr/bin/vi /etc/profile

就可以順利修改profile檔案。修改完畢後問題解決。

總結:修改profile檔案一定要慎重、慎重、再慎重....還好這只是我自己的虛擬機器,大不了可以重做系統。如果把客戶的業務伺服器給弄成這樣....估計死都不知道怎麼死的。