添加 .bashrc 文件的路径?

Posted

技术标签:

【中文标题】添加 .bashrc 文件的路径?【英文标题】:Adding a path to the .bashrc file? 【发布时间】:2012-11-17 20:16:30 【问题描述】:

目前我正在尝试将 ns-2 的路径添加到我的 .bashrc 文件中,我已经安装了 ns-allinone-2.34 但命令 ns 给出了结果:进入 shell 时找不到命令。

这是我的 .bashrc 文件当前的样子,我使用 gedit 对其进行了编辑:

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi


# User specific aliases and functions
export PATH=/home/michael/ns-allinone-2.34/bin/ns:/home/michael/ns-allinone-2.34/bin/nam:$PATH

有人可以解释为什么这不起作用或可能的解决方案是什么?我正在使用 Fedora 17。

【问题讨论】:

您是否启动了重新加载 .rc 文件的新 shell? 这是二进制文件还是目录:/home/michael/ns-allinone-2.34/bin/ns?它必须是包含二进制文件的目录 修复它的啊我使用的是二进制文件而不是目录,我删除了最后的 ns 和 nam,它现在可以工作了! 好。我添加了一个合适的答案 【参考方案1】:

另外,如果你像这样导出路径,你也想保留旧的 PATH,因此也包括它。

export PATH=$PATH:/home/michael/ns-allinone-2.34/bin/

【讨论】:

他做到了,就在最后,就像它应该的那样。 哦,你是对的,我没有滚动到那里并希望原始 PATH 位于开头... 这个答案和接受的答案有什么区别?我的意思是,如果在 bin 的路径之前没有添加“$PATH:”会发生什么? @Todea 路径按给定顺序搜索。因此,如果您将现有路径放在末尾,则将调用任何同名的可执行文件而不是正常的可执行文件。这通常不是你想要的,如果文件夹的权限比系统命令文件夹弱,这将成为一个安全漏洞:有人可以让你运行任意命令,只需在其中创建一个名为“ls”的文件。但是,无论如何,我们不应该从全局可写文件夹中运行 exe :) 所以,当您想要覆盖默认系统命令时,它很方便,但别名不会削减它。【参考方案2】:

PATH 应该包含二进制文件的目录,而不是二进制文件本身。

例如,在上面:

export PATH=/home/michael/ns-allinone-2.34/bin/ns:..

实际上应该是:

export PATH=/home/michael/ns-allinone-2.34/bin:...

【讨论】:

我确实错误地否决了这个答案..不知道如何恢复它..请帮助我:) 我想只要再按一次相同的箭头按钮。 不.. 它说“你的投票现在被锁定,除非这个答案被编辑” @Maystro 您的反对意见是合理的。这可能会删除所有以前的 PATH。请参阅下面的第二个答案 @BinuJasim - 您能否解释一下如何将 PATH 变量修改到正确的目录并删除对二进制文件的错误引用不起作用?

以上是关于添加 .bashrc 文件的路径?的主要内容,如果未能解决你的问题,请参考以下文章

添加环境路径

添加环境路径

添加环境路径

sh 将此添加到〜/ .bashrc文件(或任何相关的),以便您自己轻松查看Laravel应用程序中的路径,或过滤res

Linux 导出路径错误。如何恢复 ~./bashrc 文件

linux下如何设置命令的默认路径