2016-08-09 28 views
0

執行我想要一個登錄菜單運行不同的配置文件爲每個菜單。.profile文件不是在外殼

#!/usr/bin/ksh 
banner welcome 

echo "select the application profile:" 
echo " 1) profile1" 
echo " 2) profile2" 

read n 
case $n in 
    1) . profile1;; 
    2) . profile2;; 
    *) invalid option;; 
esac; 
+0

而你的問題是......? –

+0

嘗試在配置文件上預先添加顯式路徑,例如'。 ./profile1 ;;'。 –

+0

試過......它沒有工作......它保持在當前配置文件中。 –

回答

0

好吧,我希望我能正確理解這一點。另外我的解決方案是使用bash,但也應該與ksh一起使用

您希望當您運行此腳本並選擇一個選項時,它會爲當前bash會話設置該配置文件?如果是這樣,你需要運行腳本比平時稍微不同。

當運行bash腳本,任何在它裏面發生了,留在它裏面,使其不影響外會話或其他任何

所以,如果你想從內改變當前用戶的個人資料bash腳本,你將需要運行bash腳本作爲

source <name of script> 

而不是

./<name of script> 

正如你可能通常稱它爲。

試試吧,讓我知道它是否有效,如果沒有,我會盡力幫助更多

+0

#源./profile_menu.sh KSH:源:未找到。 _______________#源profile_menu.sh KSH:源:未找到。也試過.ksh沒有工作 - 請幫助 –

+0

OK,而不是使用源 - 使用。 <腳本路徑包括姓名> 和腳本里面,請確保您的配置文件1和PROFILE2的路徑是正確的,因此絕對路徑 – vxstorm

+0

試過沒有工作 - 你能請儘量創造烏爾ENV ......我的個人資料有幾個導出和別名...所以請嘗試在你的環境,讓我知道你是否能夠做到這一點..非常感謝 –