设置路径变量并运行Ruby脚本

时间:2015-11-11 17:49:36

标签: linux ubuntu

这是我第一次使用Ruby脚本,为了运行这个脚本,我必须首先cd进入项目的根目录/usr/local/bin/youtube-multiple-dl,然后执行脚本为bin/youtube-multiple-dl

我尝试设置PATH变量

echo 'export PATH="$HOME/youtube-multiple-dl/bin:$PATH"' >> ~/.bash_profile

希望我可以从机器上的任何地方运行它,而不必cd到项目的根目录,但是,到目前为止没有运气。

系统:Ubuntu 15.04服务器

Script Repo

我目前执行脚本的方法是:

root@box15990:~# cd /usr/local/bin/youtube-multiple-dl
root@box15990:/usr/local/bin/youtube-multiple-dl# bin/youtube-multiple-dl

执行脚本的理想方式:

root@box15990:~# youtube-multiple-dl

如何正确设置此脚本的环境路径以便从任何地方运行?

1 个答案:

答案 0 :(得分:1)

echo 'export PATH="$HOME/youtube-multiple-dl/bin:$PATH"' >> ~/.bash_profile

不是我们设置PATH条目的方式。

PATH是要搜索的目录的列表,而不是文件列表。

通常,PATH应包含以下内容:

/usr/local/bin:/usr/bin

在其中的某个地方。

如果没有,那么您想使用文本编辑器修改它,例如nanopicovim使用一个命令:

nano ~/.bash_profile
pico ~/.bash_profile
vim ~/.bash_profile

你可能希望前两个中的一个超过vim作为vim,虽然它非常强大并且是世界上最常用的编辑器之一,但如果你不习惯它也不会过于直观。您也可以使用man nanoman pico了解其他内容。

进入文件编辑器后,滚动到底部并删除添加的行。然后在PATH中找到/usr/bin部分,并在其前面添加/usr/local/bin::是目录之间的分隔符。该更改将告诉shell在/usr/local/bin之前查看/usr/bin,以便您在/usr/local/bin目录中添加的任何内容都将在系统安装的代码之前找到,该代码位于{{ 1}}。

文件中可能没有PATH语句。如果您没有看到,只需添加:

/usr/bin

修改〜/ .bash_profile后,保存文件并退出编辑器,然后重新启动shell。您可以通过退出并重新打开终端窗口或运行:

来实现
export PATH=/usr/local/bin:$PATH

在命令行。

此时,正在运行:

 exec $SHELL

应反映您路径的变化。

要确认更改生效,您可以运行:

echo $PATH

你应该回来:

which youtube-multiple.dl

此时你应该可以运行:

/usr/local/bin/youtube-multiple.dl

并获得显示内置帮助的响应。这是因为shell将从第一个定义的目录开始搜索路径,并继续直到它耗尽列表,并将执行与该名称匹配的第一个文件。

由于您遇到的困难,我强烈建议您阅读一些有关管理* nix系统的教程。学习基础知识并不明白,了解shell如何查找文件并执行它们对于编写Ruby,Python,Perl等脚本语言的人来说至关重要。我们不断使用操作系统,安装文件系统和用户的使用,以及正确和安全地这样做对于机器的安全性和稳定性非常重要。