LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1262|回复: 5

rxvt-unicode 不读取~/.bashrc或~/.profile吗?

[复制链接]
发表于 2008-11-25 22:17:22 | 显示全部楼层 |阅读模式
如题: 我安装了rxvt-unicode V9.06,但是在~/.bashrc中设置了如下内容:

alias ls="ls -F --color=always"
alias ll="ls -lF --color=always"

但是重新打开,没有起到作用。why?
~/.Xresources 中的配置如下:

URxvt.geometry: 78x40
URxvt.cursorColor:green
URxvt.foreground:lightgray
URxvt.background:black
! transparent setting
URxvt.tintColor:lightgray
URxvt.shading:30
URxvt.inheritPixmap:true

URxvt.termName:rxvt-unicode
URxvt.cursorBlink:true
URxvt.saveLines:65535

URxvt.scrollBar_right:true
URxvt.scrollTtyKeypress:true

!URxvt.inputMethod:fcitx
URxvt.font:xft:Bitstream Vera Sans Mono:size=9

! table style
!URxvt.perl-ext-common:default,tabbed

找Google,也是说写.bashrc 或.profile 就可以,但是没作用,请教各位大侠,谢谢!
发表于 2008-11-26 09:40:00 | 显示全部楼层
这不是 urxvt 的事,而是 urxvt 启动的 shell 应该做的。怀疑可能是你的 TERM 环境变量的问题。能不能把 $echo $TERM 的输出贴一下?
回复 支持 反对

使用道具 举报

发表于 2008-11-26 12:21:20 | 显示全部楼层
$TERM 还是在说terminal 阿,贴个$SHELL吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-26 21:22:12 | 显示全部楼层
变量如下:

$echo $TERM
rxvt-unicode

$echo $SHELL
/bin/sh

好像还是不行啊,还有那点小弟设置错了呢?

rxvt-unicode这种终端模拟器和shell真正的区别在哪里?
有没有链接?解释一下,谢谢!
回复 支持 反对

使用道具 举报

发表于 2008-11-26 22:26:01 | 显示全部楼层
首先,你需要明白什么叫[color="Red"]登录shell,什么是[color="Red"]非登录shell,后者又区分[color="Red"]交互式shell和[color="Red"]非交互式shell,而前者一般都是交互式的。

然后阅读bash手册页,看看这三种区别

  • 交互式登录shell
  • 交互式非登录shell
  • 非交互式shell

分别会读取哪些shell配置文件:
  1. $ man bash
复制代码
那么,你首先可以排除掉~/.profile,因为默认情况下几乎所有的终端仿真器都是执行非登录式交互式shell,而~/.profile只有登录式shell才会读取。

然后,从你的$SHELL输出看出,你在使用/bin/sh而非/bin/bash,虽然实际上都是bash,但是...还是看手册:
  1.        If  bash  is  invoked  with  the name sh, it tries to mimic the startup
  2.        behavior of historical versions of sh as  closely  as  possible,  while
  3.        conforming  to the POSIX standard as well.  When invoked as an interac-
  4.        tive login shell, or a non-interactive shell with the  --login  option,
  5.        it  first  attempts  to read and execute commands from /etc/profile and
  6.        ~/.profile, in that order.  The  --noprofile  option  may  be  used  to
  7.        inhibit  this  behavior.  When invoked as an interactive shell with the
  8.        name sh, bash looks for the variable ENV, expands its value  if  it  is
  9.        defined,  and uses the expanded value as the name of a file to read and
  10.        execute.  Since a shell invoked as sh does not attempt to read and exe-
  11.        cute  commands from any other startup files, the --rcfile option has no
  12.        effect.  A non-interactive shell invoked with  the  name  sh  does  not
  13.        attempt  to  read  any  other  startup files.  When invoked as sh, bash
  14.        enters posix mode after the startup files are read.
复制代码

终端仿真器和伪终端...除非你想深入了解,那就建议买《UNIX环境高级编程》或者《高级UNIX编程》或者《UNIX系统编程》,否则就不需要太纠结...
回复 支持 反对

使用道具 举报

发表于 2008-11-28 19:50:14 | 显示全部楼层
5楼是正解

~/.bashrc
~/.bash_profile
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表