linux環境變數問題

2021-06-10 10:09:43 字數 905 閱讀 8933

裝完oracle以後使用sqlplus準備登陸進去,可是卻提示command not found,看了看,小case指定是環境變數問題,我用root使用者修改/home/oracle/.bash_profile 這個oracle使用者所對應的檔案就可以了。然後我就開始動手去加了!加完以後內容如下:

興致匆匆的su - oracle使用者,登陸進去以後執行命令 sqlplus /nolog 奇怪的事情發生了,還是現實command not found 還是不好用,這是怎麼回事呢?可能沒生效?我又執行了下 source /home/oracle/.bash_profile檔案,在打sqlplus /nolog使用者,可以正常登陸到sql當中了。。可以使用了。。但是就想了,是不是每次登陸都得執行下source呢?我又切換回root使用者,然後又切換回oracle使用者,執行sqlplus命令,還是不好用。這就怪了!怎麼回事呢!

故障分析:系統啟動以後,切換到oracle使用者時自動執行環境變數/home/oracle/.bash_profile檔案,執行的時候也是一條一條順序執行的,執行第一條是path=$path:$home/bin:$oracle_home/bin這事第一條,大家可以看到我$path和$home/bin都是系統自帶的,而$oracle_home/bin這個變數卻是我在下邊定義的。當系統執行這個指令碼走到這條的時候,前兩條環境變數都能識別,可是在走$oracle_home/bin卻不能識別,因為系統找不到這個變數的具體路徑,所以繼續往下執行指令碼。等到執行到最後雖然能夠識別$oracle_home/bin路徑的位置但是卻不能生效,當執行source .bash_profile時相當於把這個檔案執行了兩遍,當然就可以認到了$oracle_home/bin這個路徑。環境變數也就生效了!這就像c語言一樣,變數需要先定義。。在c語言這樣的錯誤就要報錯了,但是環境變數中雖然沒有報錯。但是也沒有生效,所以總結一句話。變數需要先定義,然後才能執行在系統中!!

linux 環境變數問題

首先就要考慮root 的 path裡是否已經包含了這些環境變數。主要是這四個 bin usr bin,sbin,usr sbin。四個主要存放的東東 bin bin為binary的簡寫主要放置一些系統的必備執行檔例如 cat cp chmod df dmesg gzip kill ls mkdir ...

linux環境程式設計 環境變數 列印環境變數

在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...

linux環境變數

初次學習lliux對環境變數的知識甚是不解決,特花費乙個上午的時間總結了一下,可以說是全面!如各位有更加詳細的見解不妨告知!定製環境變數 環境變數是和shell緊密相關的,使用者登入系統後就啟動了乙個shell。對於linux來說一般是bash,但也可以重新設定或切換到其它的 shell。環境變數是...