oad*_*ams 62
如果您只是export PATH=$PATH:</path/to/file>在命令行中输入,它只会持续会话的长度。
如果您想永久更改它export PATH=$PATH:</path/to/file>,请添加到您的 ~/.bashrc 文件中(最后就可以了)。
小智 27
简而言之,要运行该程序,无论您的目录是什么,您都需要在搜索路径中包含该程序的目录。该问题可以通过将程序放入该路径中已有的文件夹来解决,或者通过向该路径添加一个新文件夹来解决 - 两者都可以。最佳答案取决于:
这个程序是您自己从源代码编译的下载程序吗?
它很可能已经有了安装机制。在编译程序的文件夹中,以 root 身份运行“make install”
该程序是否是您想要作为计算机标准程序的一部分提供的下载程序?
将此类应用程序放入标准文件夹是有意义的。对于此类程序,使用 /usr/local/bin 等目录是很常见的。您将需要 root 访问权限才能执行此操作。
这是您为自己编写的程序和/或您在计算机上没有特殊权限。
在您的主目录中创建一个名为“bin”的文件夹,并将程序放在那里。您可能需要编辑您的登录脚本以添加此文件夹的完整路径(例如 /usr/home/jeremy/bin)
虽然您可以将其当前目录添加到搜索路径中,但您必须在每个新程序中继续这样做 - 从长远来看,这是更多的工作。
Sha*_*off 21
/bin出于多种原因,在目录中放置指向文件的链接并不是最好的做法。
/bin目录是应该保留其所需的运行系统(东西喜欢的程序chmod,mkdir等等)。实际上,你可以放置(安装)的可执行文件中/usr/bin/甚至/usr/local/bin/。当然,此时您已经手动安装了该程序;您的发行版不会像其他程序一样跟踪它 - 您必须在必要时手动升级它,并在您想要它消失时手动删除它。此外,您还必须知道它所依赖的包(听起来您已经使用了该程序,因此已经解决了这个问题,但总的来说......)。
除非我正在设置一个希望其他用户使用的程序,否则我通常不会这样做:我在我的主目录中为我创建一个 bin 目录,然后编辑我的 shell 配置文件以添加~/bin/到我的PATH环境变量中。我发现跟踪我以这种方式安装的程序更容易,因为它与系统的其余部分分开。
如果你想foo在你的 shell 当前所在的目录中运行一个命令,你基本上有两个选择:
键入./foo在shell提示符。
将.目录(.是“当前目录”的名称)添加到PATH环境变量中;您如何执行此操作取决于您使用的外壳:
对于您编写的 Bourne 类型 shell(bash、zsh、ksh 等)(有关更多信息,请参阅此页面):
export PATH=$PATH:.
Run Code Online (Sandbox Code Playgroud)对于您编写的 csh 类型 shell(tcsh、csh)(有关更多信息,请参阅此页面):
set path = ( $path .)
Run Code Online (Sandbox Code Playgroud)请注意,2. 是多用户系统上的安全风险:假设您cd进入目录,/tmp并且恶意用户在其中创建了一个恶意软件二进制文件ls。