LinuxSir.cn,穿越时空的Linuxsir!

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

请教x中虚拟终端的环境变量设置问题

[复制链接]
发表于 2006-2-6 16:44:32 | 显示全部楼层 |阅读模式
系统是slackware-10.2。
我使用 fvwm 作为窗口管理器。每次
通过命令终端登陆后,运行 startx 命令来开启xwindow。
我在 .bashrc 中设置一下变量和别名.然后在 .bash_profile 中source .bashrc。
在登陆命令终端时,这些变量和别名都实现了。
但在 fvwm 中的虚拟终端(rxvt, xterm)内,有些没有实现。
比如:alias rm='rm -i'等。
必须在该虚拟终端内人工执行. .bashrc才可以。
请问这是怎么回事。
谢谢!
发表于 2006-2-6 17:09:26 | 显示全部楼层
你的默认 shell 不是 bash。用 chsh 命令改过来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-6 19:47:18 | 显示全部楼层
Post by shadkong
你的默认 shell 不是 bash。用 chsh 命令改过来。


能不能再详细点。谢谢。
我在rxvt中查看$SHELL=/bin/sh, 它是指向bash,另外,我在命令行登陆时
没有这个问题。
回复 支持 反对

使用道具 举报

发表于 2006-2-6 20:03:58 | 显示全部楼层
原因肯定在别处,我跟你干的是一样的。你不是在里面放了条件判断是控制台还是xterm吧?
回复 支持 反对

使用道具 举报

发表于 2006-2-6 20:50:18 | 显示全部楼层
shadkong正解,调用/bin/sh和/bin/bash是不同的,以/bin/sh调用bash时,会禁用一些bash的扩展,但符合posix sh的规范,所以要想确保编写的脚本可移植性,用#!/bin/sh作为shabang。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-6 21:24:46 | 显示全部楼层
确实如此,我将
SHELL="/usr/bin/bash",就正常了。
谢谢各位!
回复 支持 反对

使用道具 举报

发表于 2006-2-7 16:14:33 | 显示全部楼层
/usr/bin/bash 是指向 /bin/bash 的链接。
回复 支持 反对

使用道具 举报

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

本版积分规则

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