更改Shell脚本的提示?

PSh*_*man 4 bash shell ps1

我是shell脚本的新手,不能为我的生活弄清楚为什么这不起作用.

我正在尝试从我的shell脚本中更改提示.当我在终端中键入它时它会起作用,但是当我运行脚本并从菜单中选择它时它什么都不做.这就是我所拥有的:

read input   
case $input in   
1)    oldprompt=$PS1  
export PS1="\d \t"    
;;  
2) echo "option 2"  
;;  
*) echo "option 3"  
;;   
esac   
Run Code Online (Sandbox Code Playgroud)

Mik*_*ger 9

环境变量是进程的本地变量,只传播到其子进程.如果你执行一个脚本并导出变量,那么按照设计,它对父进程没有影响.

相反,你需要采购,因此在目前情况下执行shell脚本.

# This is wrong.
$ ./myscript.sh
# This will work though.
$ . ./myscript.sh
Run Code Online (Sandbox Code Playgroud)