当前位置:  技术问答>linux和unix

为什么有的用户登录后shell提示符是如此模样?

    来源: 互联网  发布时间:2016-07-04

    本文导语:  我用账号postgres登录: 提示符都是这样: -bash-3.2$  而用root以及其他则为: [root@localhost ~]# 查看/etc/passwd中这两个账号分别使用的shell: root:x:0:0:root:/root:/bin/bash postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash 如...

我用账号postgres登录:
提示符都是这样:

-bash-3.2$ 


而用root以及其他则为:

[root@localhost ~]#


查看/etc/passwd中这两个账号分别使用的shell:

root:x:0:0:root:/root:/bin/bash
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash


如上所示,都为bash,什么导致了这样的区别呢?

|
用户登录后加载profile和bashrc的流程如下:

1)/etc/profile-------->/etc/profile.d/*.sh
2)$HOME/.bash_profile-------->$HOME/.bashrc---------->/etc/bashrc

说明:
bash首先执行/etc/profile脚本,/etc/profile脚本先依次执行/etc/profile.d/*.sh
随后bash会执行用户主目录下的.bash_profile脚本,.bash_profile脚本会执行用户主目录下的.bashrc脚本,
而.bashrc脚本会执行/etc/bashrc脚本

至此,所有的环境变量和初始化设定都已经加载完成.
bash随后调用terminfo和inputrc,完成终端属性和键盘映射的设定.

|
看下postgres的home目录下的.bashrc
有没有设置ps1的功能

|
You can edit your .bashrc. My PS1 definition in .bashrc is as following:
if [ "$color_prompt" = yes ]; then
#    PS1='${debian_chroot:+($debian_chroot)}[33[01;32m]u@h[33[00m]:[33[01;34m]w[33[00m]$ '
    PS1='[33[01;34m]w[33[00m]$ '
else
#    PS1='${debian_chroot:+($debian_chroot)}u@h:w$ '
    PS1='w$ '
fi


|

登录情况下,shell一般会读取HOME目录下的.bash_profile;
非登录情况下,比如打开gnome-terminal或者emacs下打开shell,则执行.bashrc,而不会执行.bash_profile.
一般,.bash_profile会去检查.bashrc并执行,这只是一种习惯性约定。所以关于bash的定制卸载.bashrc是比较好的习惯。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我装了中软Linux3.1,启动时要求输入用户名和口令,但安装时并没有提示指定用户名,所以现在输入用户名老是错误,不能进入系统,请问该怎
  • SQL Server提示"选定的用户拥有对象,所以无法除去该用户”
  • 高手指教:SCO UNIX突然提示没有用户license是什么原因?然后系统运行提示network is down,如何解决?
  • exchange5.5 安装完后,outlook 提示输入用户名密码。
  • 为什么登录时提示该窗口不允许登录管理员用户!
  • vmware安装RH时,提示输入系统根用户口令问题~~~~~~~~~~~~
  • 如何停用主机上用户的空间并显示一条提示信息?
  • 我用kylix上的sql connection连接同一网段的linux上的MYSQL,但总是提示用户及密码不下确,但实际上用户及密码肯定是正确的呀?
  • 为什么每次进入informix用户都会提示错误
  • 我用root用户登陆之后,仍提示我没有权限。
  • 非root用户修改密码,输入旧密码时提示 Authentication Failure的问题
  • 急问:启动busybox文件系统后怎么主动提示 用户登陆认证? busybox login
  • 在LINUX系统下编译用户态的代码时提示undefined refirence to "函数名"错误请求帮助?谢谢!!
  • 请问我的linux6.22提示我的密码和用户名不能一致?如果我想一样怎么办?
  • 普通用户不能切换到root,提示密码错误
  • 使用usermod -u 来修改用户主目录和默认shell时提示找不到这个用户
  • root用户登录编译执行./configure提示权限不够
  • 普通用户,使用CP命令提示: cp:unable to create file ......... Permission denied(error 13)
  • 我注册一个开源的用户时,有如下提示?不知道是什么意思?大家帮我翻译以下,谢谢
  • 我下了Fedaro core 10 (Fedora-10-i386-DVD.iso),用VMware 5 安装好后 ,用root登录,但是提示无法验证用户,如何解决?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 概念混乱,请专人解释:实际用户ID,有效用户ID,设置用户ID
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • proftp中,如何让FTP的用户是非Linux用户,只是FTP用户?
  • UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍
  • windows 系统是否是多用户操作系统,如何理解“多用户操作系统”的“多用户”?
  • CentOS安装Telnet,以root用户登陆Telnet以及CentOS的各种终端解释
  • 我装的是RED HAT LINUX 8.0,我在root用户中把root用户删除了,怎办也进不了root用户
  • 怎样让普通用户拥有超级用户的权限,是把普通用户的组设为root组吗?具体怎么做,急死了
  • 我一个服务器同时接受到很多个用户的认证请求(得到用户名和密码),然后把用户名密码发给认证服务器。因为是远程认证,所
  • root用户附权限给其他用户问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3