2016-08-09 3 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, но -hould-work with ksh, а также

Вы хотите, чтобы при запуске этого скрипта и выборе опции он затем задал этот профиль для текущего сеанса bash? Если это так, вам нужно запустить скрипт несколько иначе, чем обычно.

При запуске Баш скрипт, все, что происходит внутри него, остается внутри него, так что он не влияет на внешнюю сессию или что-нибудь еще

Так что, если вы хотите изменить профиль текущего пользователя Изнутри Баш скрипт, вам нужно будет запустить скрипт Баш, как

source <name of script> 

вместо

./<name of script> 

Как вы, возможно, как правило, называют его.

Попробуйте и дайте мне знать, если это сработает, если нет, я постараюсь помочь больше

+0

# источник ./profile_menu.sh ksh: источник: не найден. _______________ # source profile_menu.sh ksh: source: not found. Также попробовал .ksh не сработал - Пожалуйста, помогите –

+0

OK, вместо использования источника. <путь к скрипту, включая имя> И внутри скрипта убедитесь, что пути для вашего профиля1 и профиля2 верны, поэтому абсолютный путь – vxstorm

+0

попробовал, он не работал - не могли бы вы попробовать создать в ur env ... у моего профиля есть пара экспорт и псевдоним ... Так что PLS попробовать в ур env и дайте мне знать, если вы в состоянии это сделать .. Большое спасибо –

Смежные вопросы