2016-03-09 82 views
0

我是shell腳本編程新手,無法爲我的生活找出爲什麼這不起作用。從Shell腳本更改提示?

我試圖改變從我的shell腳本中的提示。它在我輸入到終端時起作用,但當我運行腳本並從菜單中選擇它時什麼都不做。這裏是我有什麼:

read input 
case $input in 
1) oldprompt=$PS1 
export PS1="\d \t"  
;; 
2) echo "option 2" 
;; 
*) echo "option 3" 
;; 
esac 

回答

3

環境變量是一個進程本地化,只傳播到它的孩子。如果您執行腳本並輸出變量,那麼在設計上,它不會影響父進程。相反,您需要source shell腳本,以便它在當前上下文中執行。

# This is wrong. 
$ ./myscript.sh 
# This will work though. 
$ . ./myscript.sh