从Shell脚本更改提示符?

7

我是一名新手,对shell脚本毫无头绪,我无法弄清楚为什么这不起作用。

我试图从我的shell脚本中更改提示符。当我在终端中键入它时,它可以正常工作,但当我运行脚本并从菜单中选择它时,它却没有任何作用。以下是我的代码:

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

14
环境变量是进程本地的,只会向其子进程传播。如果您执行一个脚本并导出变量,那么这不会对父进程产生影响,这是设计如此。
相反,您需要在当前上下文中运行 shell 脚本。
# This is wrong.
$ ./myscript.sh
# This will work though.
$ . ./myscript.sh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接