【问题标题】:Environment variable PATH on linuxLinux上的环境变量PATH
【发布时间】:2016-04-08 22:52:47
【问题描述】:

您好,我目前正在尝试为我的终端设置关键字以启动某些软件,而无需输入整个路径。
例如:

firefox
#instead of
/home/debian/firefox/firefox

我总是通过在环境变量管理器中设置路径来在 Windows 上做这种事情。
在我阅读这篇文章 PATH environment variable in linux 后,我将此行添加到 etc/environment 文件中:

export firefox=/home/debian/firefox/firefox
#I also tried this:
export PATH=$PATH:/home/debian/firefox

它不起作用,谁能解释我如何做到这一点?

【问题讨论】:

  • 它有什么作用?导出后的$PATH 变量是什么?你打开了一个新的shell吗?

标签: linux debian environment-variables


【解决方案1】:

我会在我的.bashrc.profile 中设置一个新别名,它应该位于您的主目录下。将以下内容添加到文件末尾:

alias firefox="/home/debian/firefox/firefox"

保存文件并使用以下命令重新加载:

source ~/.bashrc

由于您将别名添加到 .bashrc,因此每次打开新的 shell 实例时都会创建此别名。

您可以使用 nohup 在 shell 会话结束后保持命令运行:

alias firefox="nohup /home/debian/firefox/firefox &"

注意尾随的& 字符,它将在后台运行命令,以便您可以继续使用终端。

【讨论】:

  • 它可以工作,但它会锁定终端,就好像它在运行编译器或类似的东西一样。我想启动我的软件,然后在我的软件在 X 窗口中运行时再次将手放在我的终端上。如果我 我可以再次使用我的终端,但软件会关闭。
  • @aurelienC - 您是否尝试过使用nohup,就像我上面的例子一样?
  • 启动firefox后终端仍然无法使用。当然,我可以关闭我的终端,Firefox 继续运行,但我的目标是在我使用终端时即时启动并继续使用它。
  • @aurelienC - 您是否真的尝试将& 字符附加到末尾:alias firefox="nohup /home/debian/firefox/firefox &"?无论如何,这对我来说很好用吗?
  • 没关系,它也适用于我,我忘了用源代码重新编译(或者它是什么)。
【解决方案2】:

您还可以在 .bashrc 文件中创建别名。

$ vim ~/.bashrc

它将以阅读模式打开您的.bashrc。按i 进入写入模式。您可以在文件中的任何位置或已创建的别名列表下方创建别名。

alias firefox='/home/debian/firefox/firefox'

Esc,然后按:wq 这将创建您的别名,保存并退出文件。现在你只需要通过这个编译.bashrc

$ source ~/.bashrc

在此之后,您只能使用firefox 而不是 long /home/debian/firefox/firefox

【讨论】:

    【解决方案3】:

    /home/debian/firefox 添加到您的PATH 应该已经完成​​了。

    你在做出改变后是否启动了一个新的 shell?否则新的PATH 还不会导出。或者,您可以直接运行 export PATH=$PATH:/home/debian/firefox 为您当前的会话更新它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-30
      • 1970-01-01
      • 2019-05-15
      • 2012-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多