2013-01-10 41 views
0

我刚刚从MacPorts的安装GMT4(通用制图工具),并已运行到与终端一些严重的问题...... 当终端使用ls命令我得到以下几点:太多的bash初始化文件?

-bash: ls: command not found 

为了解决这个问题我”我尝试了很多东西,我在网上阅读了许多不同的地方。我已将以下文件更改为包含/ usr和/ bin:

~/.bashrc 
~/.bash_profile 
~/.profile 

这样做让我回到了之前丢失的sudo命令。 但是,如果不手动导出路径(“新建会话”),我仍然无法在新的终端窗口中使用ls。当我运行使用系统函数的shell脚本时,这导致了问题。所以我开始想知道这三个文件究竟做了什么,以及如果有三个文件做同样的事情会导致它们互相干扰。如果任何人都可以告诉我需要添加这些好的路径,我不知道,也许我可以删除其中一个文件或其他的东西是冲突的。现在我只需在每个新的终端窗口中运行“export PATH = $ PATH:/ usr”,并且它适用于该会话。

我在2011年初配备4GB内存的MacBook Pro上运行Mac OS X 10.6。

背景对于那些有兴趣谁: 我的最终目标是使用Relax粘弹性松弛的中洋脊系统进行建模拿出某种形式的滑动量和位置之间构成法律或功率关系正常断层导致的岩石圈最大张应力。

+0

我的建议是将这三个文件移动到不同的位置,看看是否修复它。如果是这样,你可以尝试将它们零碎地恢复。完全删除它们不会恢复系统配置;通过从'/ etc/skel'中拷贝这些文件(或者任何OSX使用的,以便混淆我们)来完成一个完全干净的操作。 – tripleee

+0

如果您需要实际帮助,向我们展示如何在这些文件中操作PATH,这将非常重要。对于故障排除,如果您在终端窗口中运行'/ bin/bash --login -i -x',你会发现什么? – tripleee

回答

3

Bash manual实际上解释这些文件相当彻底。但是,手册没有描述这些机制在实际中通常如何使用。接下来是常见最佳实践的简要简要版本。

.profile在登录时被shbash读取。

.bashrc被非登录Bash shell读取。按照惯例,.bash_profile依次来源.bashrc

.bash_profile在Bash登录时被读取。如果此文件存在,则不会读取.profile。按照惯例,.bash_profile应该从.profile来源(如果存在)。