我不是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,因为它没有任何功能,如向上箭头回忆最后的命令和标签自动完成功能)
感谢 赛...
答案 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
,其中包含您希望继承的设置。