1

我刚刚从 MacPorts 安装了GMT4(通用映射工具)并且在终端中遇到了一些严重的问题......在终端中使用 ls 命令时,我得到以下信息:

-bash: ls: command not found

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

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

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

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

感兴趣的人的背景:我的最终目标是使用松弛来模拟大洋中脊系统中的粘弹性松弛,以提出滑动幅度与最大张应力位置之间的某种本构定律或幂关系。岩石圈由于正常断层。

4

1 回答 1

4

Bash 手册实际上相当彻底地解释了这些文件。但是,该手册没有描述这些机制在实践中通常是如何使用的。以下是常见最佳实践的简短、删节版本。

.profile在登录时由sh和读取bash

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

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

于 2013-01-10T09:26:37.387 回答