2016-08-09 247 views
0

Ich möchte ein Login-Menü erstellen, um verschiedene Profile wie Menü auszuführen..profile nicht in der Shell ausgeführt

#!/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

Und Ihre Frage ist ...? –

+0

Versuchen Sie, einen expliziten Pfad auf die Profildateien, z. ./profile1 ;; '. –

+0

Versucht ... es hat nicht funktioniert ... es bleibt im aktuellen Profil. –

Antwort

0

OK, ich hoffe, dass ich das richtig verstehe. Auch meine Lösung ist mit Bash aber -sollte auch mit ksh

Sie wollen es so, dass wenn Sie dieses Skript ausführen und wählen Sie eine Option, es setzt dann das Profil für die aktuelle Bash-Sitzung? In diesem Fall müssen Sie das Skript etwas anders als gewöhnlich ausführen.

Wenn Sie ein Bash-Skript ausführen, alles, was im Inneren geschieht, bleibt im Inneren, so dass es nicht die Außen Sitzung oder irgendetwas anderes

Also, wenn Sie den aktuellen Benutzer-Profile von innen ein ändern beeinflussen will bash-Skript, müssen Sie die bash-Skript als

source <name of script> 

statt

./<name of script> 

laufen wie Sie in der Regel es nennen könnte.

Versuchen Sie es und lassen Sie mich wissen, wenn es funktioniert, wenn nicht, werde ich versuchen, mehr zu helfen

+0

# source ./profile_menu.sh ksh: Quelle: nicht gefunden. _______________ # Quelle profile_menu.sh ksh: Quelle: nicht gefunden. Auch versucht .ksh hat nicht funktioniert - Bitte helfen –

+0

OK, anstatt mit der Quelle - verwenden.