PS1 ='$ PWD $'无法使用shell脚本

时间:2012-03-28 10:22:38

标签: bash shell solaris-10

我不是Solaris专家,我正在尝试创建一个shell脚本,将我的提示改为PWD,将ksh更改为bash,我有这个:

PS1 ='$ PWD $'exec bash --noprofile --rcfile / dev / null

PS1 ='\ w $'exec bash --noprofile --rcfile / dev / null

他们两个都没有工作。如果我从命令行添加它们,那么第一次我的bash出现在提示符上,第二次PS1 ='$ PWD $'启动并且我的提示改变了。

首先,为什么PS1 ='$ PWD $'无法使用shell脚本。为什么我必须从命令行运行命令两次才能实现我的结果。

另外,在我的export / home / syed /目录中有三个文件local.login,local.profile和local.cshrc。有什么方法我可以使用它们,当我登录时,我不需要运行我的shell脚本,登录后我得到bash shell和我的提示,因为我想要它 (我问的太多了,我不喜欢ksh,因为它没有任何功能,如向上箭头回忆最后的命令和标签自动完成功能)

感谢 赛...

3 个答案:

答案 0 :(得分:1)

如果您希望默认shell为bash,请在/ etc / passwd

中进行更改

答案 1 :(得分:1)

当您在脚本中exec时,脚本将被替换,而不是父shell。

尝试采购脚本而不是运行它。

此外,在Solaris中,您可以使用passwd -e来更改登录shell。

您可以将~/.profile符号链接到现有的~/local.profile(或类似的)。请注意.cshrc适用于C Shell,与ksh或Bash不兼容。

答案 2 :(得分:0)

当你exec重击时,它会从头开始设置自己的环境。将它传递给--rcfile,其中包含您希望继承的设置。