这是我第一次使用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服务器
我目前执行脚本的方法是:
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
如何正确设置此脚本的环境路径以便从任何地方运行?
答案 0 :(得分:1)
echo 'export PATH="$HOME/youtube-multiple-dl/bin:$PATH"' >> ~/.bash_profile
不是我们设置PATH条目的方式。
PATH是要搜索的目录的列表,而不是文件列表。
通常,PATH应包含以下内容:
/usr/local/bin:/usr/bin
在其中的某个地方。
如果没有,那么您想使用文本编辑器修改它,例如nano
,pico
或vim
使用一个命令:
nano ~/.bash_profile
pico ~/.bash_profile
vim ~/.bash_profile
你可能希望前两个中的一个超过vim
作为vim,虽然它非常强大并且是世界上最常用的编辑器之一,但如果你不习惯它也不会过于直观。您也可以使用man nano
或man 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等脚本语言的人来说至关重要。我们不断使用操作系统,安装文件系统和用户的使用,以及正确和安全地这样做对于机器的安全性和稳定性非常重要。