为什么登录时主目录下的 .profile 不起作用

为什么登录时主目录下的 .profile 不起作用

我是 UNIX 新手。我使用的是 mac OS X 10.8。我在主目录下创建了 .profile。但是,登录时它不起作用。我总是必须使用命令强制它工作$ . ~/.profile。有人能帮我解释一下吗?

另一个问题,我尝试编写一个名为 wld 的 Cshell 并使其可执行。但是,我无法仅通过键入 来调用它$ wld。我必须键入$./wld。如何使其正常工作?

答案1

如果 ~/.bash_profile 或 ~/.bash_login 存在,bash 不会读取 ~/.profile。另外请记住,~/.profile 由登录 shell 的命令解释器执行,而 ~/.bashrc 由非登录 shell 执行。您可以在此处阅读更多信息:http://stefaanlippens.net/bashrc_and_others

脚本通常放在~/.bashrc中,~/.profile中有这样的代码:

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

相关内容