?
Message 850 not found; No message file for product=network, facility=NL
?
後來在網上查了一下,是找不到oracle安裝主目錄的原因。想了一想可能是環境變量出問題了,export了一下發現果然沒有$ORACLE_HOME 那幾個環境變量,看了一下?.bash_profile沒有發現問題,於是source .bash_profile了一下,正常啓動了oracle
?
想了一陣子之後明白了問題所在:用ssh登錄服務器時用的是其它用戶名,而切換至oracle時用的是su oracle而不是su - oracle,用su oracle時不會切換用戶環境,也不會加載新用戶的環境變量
?
在網上查了一下發現加不加這一個小橫槓的區別大了:
?
?
?
?
su 是切換到其他用戶,但是不切換環境變量(比如說那些你用export命令查看一下,就知道兩個命令的區別了)
su - 是完整的切換到一個用戶環境
?
再貼點資料:
?
.bash_profile只在登陸的時候讀取,在X下登陸打開一個console的話是不讀取該文件的。如果你在字符模式下登陸輸入用戶和密碼的話是讀取的。如果在X下打開一個console要讀取配置,就要寫在.bashrc裏面,而不是.bash_profile裏面.
你可以在.bashrc裏面加入:
if test -f .bash_profile; then
. .bash_profile
fi
這樣.bash_profile裏面內容變了就不需要再改.bashrc面的內容了.
bash 登陸的時候讀取配置文件的順序如下:
.bash_profile
.bash_login
.profile
按這個順序只要讀到一個就不再讀取其他的兩個. 當然全局的/etc/profile是最先讀的,/etc/profile裏面的配置可以在以上三個文件中覆蓋掉.
當bash不是作爲登陸shell打開時,比如你先用csh登陸,然後再輸入bash切換到bash ,那麼只讀取.bashrc
裏的內容.不讀取.bash_profile