AIX下用su切換使用者時不能載入環境變數的問題解決

來源:互聯網
上載者:User

前些日子在ibm-aix下安裝sybase15.0.3時遇到了一個su切換使用者時不能載入該使用者環境變數的問題。現在問題情況及解決方案整理一下。

 

在aix下用sybase使用者安裝並配置完服務後,要設定成開機自動啟動。

startsybase.sh的指令碼為:

     su  - sybase -c "startserver -f RUN_servername
-f RUN_servername_BS
"

這句指令碼的意思是:從目前使用者(root)切換到sybase使用者下,並以sybase使用者的身份執行startserver -f RUN_servername
-f RUN_servername_BS。


遺憾的是:執行該指令碼的時候,提示找不到找不到SYBASE環境變數。 導致不能啟動sybase主服務和備份伺服器。

上面的語句在Linux運行沒有任何問題,但在AIX環境就會報錯

 

然而,用su - sybase手動切換到sybase使用者下,再執行env卻能夠看到所有SYBAE,SYBAE_ASE,SYBASE_OCS等相關的環境變數。

也就是說用su手動切換到sybase使用者時,自動載入了sybase的環境變數。在指令碼中執行su - sybase -c  ..... 不會自動載入環境變數。

 

經過苦苦的搜尋和自己的實驗,最後問題解決了。如果想要載入sybase使用者的環境變數,需加一個參數:-l

          su - sybase -l -c "startserver -f RUN_servername
-f RUN_servername_BS
"

 

但是很奇怪的是: -l這個參數在AIX下的man su 中根本就沒有提到。

這麼一個小小的問題的確苦惱了我很長時間。最後終於解決了。 

 

參考:http://linux.chinaunix.net/bbs/viewthread.php?tid=1059910&extra=&page=1

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.