我安装了一个从互联网上下载的应用程序,一切似乎都正常,但在我键入它的名称后,却总是得到一个“command not found”消息。我知道我键入的名称是正确的,它为什么无法启动呢?
如果你想从 shell 提示下启动一个应用程序却不奏效,试着在应用程序的可执行名称前面添加一个 ./ (譬如 /usr/local/bin/my-executable )。
假设你下载了 setiathome 客户应用程序,你想试用它,并且你遵循了安装软件的所有指令,在你的主目录中创建了一个叫做 seti/ 的子目录。现在,使用该可执行文件的完整路径来启动这个应用程序,如下所示:
/home/joe/seti/setiathome
你之所以要使用完整路径名来启动程序是由于,可执行文件没有被放置在你的用户 shell 环境所知的目录中(如 /usr/local/bin )。
你可以定制该设置,因此你便不必每次都键入应用程序的完整路径名。要达到这个目的,你必须编辑你的 PATH 变量。
16.3.1. 编辑你的 PATH
如果你需要频繁地启动位于 shell 搜索的路径之外的程序,你就得编辑你的用户 shell 配置文件来添加包含你想运行的文件的目录。你可以通过在你的 PATH 环境变量中添加该目录来达到这个目的。
小心:这里的说明 仅仅 是用于普通用户帐号的。请避免修改根用户的 .bash_profile 之类的文件,因为它会造成潜在的安全危险。
在 shell 提示下启动一个文本编辑器,如 gedit 或 vi 。你可以键入下面的命令来打开叫做 .bash_profile 的文件:
gedit .bash_profile
你将会看到一条 PATH 声明,与下面的输出相似。
PATH=$PATH:$HOME/bin:/usr/local/bin:
在声明的结尾处,添加 $HOME/seti ,如下所示:
PATH=$PATH:$HOME/bin:/usr/local/bin/:$HOME/seti:
保存文件并退出文本编辑器。
这时,你便可以键入下面的命令来使 .bash_profile 中的改变立即生效:
source .bash_profile
通过在你的 .bash_profile 文件中添加路径,你可以在这些路径中保存工具和程序而不必在命令前键入 ./ 来执行它。
ms222ms 于 2007-11-28 17:11:00发表:
我靠,我说怎么回事呢?一直都是command not found,害得我急着砸电脑!
不过在文件前面加:./,又会提示:.......你的权限不够,不知道楼主遇到过这样的问题没?直接用绝对路径,也是这样的提示,并且明明是root用户登录的啊
mic1og 于 2007-11-21 09:54:36发表:
嗯,深有同感,对于新手来说!:0w5ty(1
djdior0622 于 2007-11-21 08:55:25发表:
看过了 学习了!(6)m:b
xieyuwei111 于 2006-10-05 11:28:53发表:
继续不懂
于 2006-10-05 11:24:39发表:
看不懂
雪狼 于 2006-04-27 00:35:00发表:
golshing 于 2005-11-27 17:14:09发表:
不错的文章,支持
newpowersky 于 2005-09-30 17:50:00发表:
同意楼上的,,,,,我这样的新手实在看不太明白。
怎么不禁用这些图形啊
8g 于 2005-09-15 00:41:21发表:
不错,只不过有三个色眼睛得换成代码,艺门