mac os x终端面临的问题

时间:2011-03-09 16:13:19

标签: macos bash command-line terminal osx-snow-leopard

哦,我的上帝...我遇到了一个大问题...我在〜文件夹中创建了一个.bash_profile然后在那里设置路径...胸围重大问题是重新启动我的bash之后我看到我的命令都没有像LS和RM等工作......

现在我不知道如何解决它...有人帮助我......我需要尽快使用我的终端......

5 个答案:

答案 0 :(得分:2)

确保附加到现有的$ PATH。

PATH=$PATH:/Users/mthalman/bin

答案 1 :(得分:1)

为了防止将来发生这种情况:

当我编辑我的环境文件(包括bashrc,profile,login等)时,我总是尝试启动另一个shell,然后退出编辑环境。这可以保护我免受破坏环境的可能性,使我无法登录。

答案 2 :(得分:0)

确保您的PATH包含通常的bin目录:/bin/usr/bin

答案 3 :(得分:0)

首先,我会将~/.bash_profile重命名为~/old.bash_profile

然后在TextEdit中打开它(作为纯文本文档)并验证您如何设置路径。

如果你更喜欢使用vim / emacs / nano / what,重命名文件的行为将允许新的终端会话使用默认路径,所以从命令行你应该是最好的。

然后按照上面的@Mark Thalman的建议验证你没有摧毁$PATH

答案 4 :(得分:0)

如果您在终端窗口中,只需在PATH中添加/bin/usr/bin

$ PATH="/bin:/usr/bin:$PATH"

这应该允许所有基本的Unix命令再次工作。或者,您可以使用命令的完整路径名:

$ PATH=""  #Can't find nothin'
$ ls
bash: ls: command not found.
$ /bin/ls -a  #This will work!
.   ..   .bash_profile   foo   bar

不要在.profile中重置PATH!

正如您所发现的,您应该永远重置`.bash_profile中的PATH。相反,你应该总是追加并添加到它前面:

PATH="/usr/local/bin:$PATH"
PATH="$PATH:$HOME/bin"

第一行将/usr/local/bin添加到PATH,这意味着如果命令在/usr/local/bin/usr/bin中,则/usr/local/bin版本将被执行。许多系统管理员将在/usr/local/bin中添加替代基本系统命令。例如,在Solaris上,他们可能会将VIM放在/usr/local/bin/vi中,因此在编辑文件时,您使用的是改进的VIM而不是基础VI。

第二行将$HOME/bin追加到$PATH的末尾。这意味着,如果有/bin/ls并且您有~/bin/ls,则/bin/ls将首先执行。

永远不要从头开始设置PATH,因为每个Unix系统可能都有您可以在系统中的其他位置访问的命令。例如,您的站点可能要求您使用X11,因此您希望在PATH中使用/ usr / X11 / bin,或者在/opt/git目录下安装了GIT,并且您需要/opt/git/bin in你的道路。

有时,ls等基础实用程序可能会被这些实用程序的升级版本替换。在Solaris上,您具有基本vils命令,大多数用户喜欢GNU ls命令,因为它使用颜色并且更喜欢VIM到普通VI。我会将这些实用程序包含在/usr/local/bin中,并将其添加到我的PATH中。


现在来自赞助商的一句话

正如您可能发现的那样,Finder不会列出隐藏的文件。这就是你在Finder中看不到.bash_profile的原因。您可以使用一些黑客来改变它,但它需要您在终端窗口中键入它们。

我使用名为Path Finder的Finder替换。它包含许多简洁的高级用户内容,例如允许您查看隐藏文件,将 Packages (如应用程序)视为目录,并且如果您有目录,则可以查看受保护的目录管理员权限。有一个内置的终端和GUI Subversion客户端。

它并不便宜(40美元),但您可以免费下载并试用30天。

顺便说一句,除了作为客户之外,我与Cocoatech没有任何关系,而且我从购买Path Finder的人那里赚不到任何钱。这只是我使用的工具。