【问题标题】:Setting path variables and running Ruby script设置路径变量并运行 Ruby 脚本
【发布时间】:2015-11-12 04:01:00
【问题描述】:

这是我第一次使用 Ruby 脚本,为了运行这个脚本,我必须先将cd 放入项目的根目录,即/usr/local/bin/youtube-multiple-dl,然后以@987654324 的身份执行脚本@。

我尝试设置 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

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

【问题讨论】:

    标签: linux ubuntu


    【解决方案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/bin 之前查找/usr/local/bin,这样您添加到/usr/local/bin 目录的任何内容都将在系统安装代码之前找到,该代码位于/usr/bin 中。

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

    export PATH=/usr/local/bin:$PATH
    

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

     exec $SHELL
    

    在命令行中。

    此时,运行:

    echo $PATH
    

    应该反映你的路径的变化。

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

    which youtube-multiple.dl
    

    你应该回来:

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

    此时你应该可以运行了:

    youtube-multiple.dl -h
    

    并返回显示内置帮助的响应。这是因为 shell 会搜索路径,从第一个定义的目录开始,一直持续到用尽列表,然后执行第一个匹配该名称的文件。

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

    【讨论】:

      猜你喜欢
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 2019-05-02
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      相关资源
      最近更新 更多