问题设置Windows(Linux子系统)上Ubuntu上的bash上的$路径



我正在使用" Windows上的ubuntu上的bash"(Linux子系统),并希望将Terraform添加到我的$路径中。由于Terraform无法通过Apt-Get安装,因此我执行了以下步骤:

  1. 导航到此目录,我想安装Terraform:

    CD/USR/local

  2. 在上述路径中,我使用WGET下载Terraform:

    wgethttps://releases.hashicorp.com/terraform/0.9.8/terraform_0.9.8_linux_amd64.zip

  3. Terraform成功解开!当我在vim中打开文件时,一切都很好:

    unzip terraform_0.9.8_linux_amd64.zip

  4. 然后

    Terraform -version

但是,以下消息将返回:

terraform: command not found

这告诉我需要将下载的位置添加到我的$路径中。

  1. 已经被登录为root用户(" sudo su"),我输入以下命令以访问" .profile":

vim〜/.profile

以下内容已经在此文件中,我将其留下未触及的内容:

 # ~/.profile: executed by Bourne-compatible login shells.
 if [ "$BASH" ]; then
   if [ -f ~/.bashrc ]; then
     . ~/.bashrc
   fi
 fi
 mesg n

紧接在本文下方,我添加以下内容,然后使用>:wq!成功保存文件:

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

6。然后,我再次输入以下命令检查是否检测到Terraform

Terraform -version

仍然返回同一" Terraform:命令"消息。我什至尝试关闭并启动新的命令行会话,甚至重新启动计算机。仍然没有更改。

有人对如何解决这个问题有任何想法吗?同样,请注意,我正在使用" Windows上的Ubuntu上的Bash"(Linux子系统)。任何输入都将不胜感激!

您问题的直接答案是最后。但是我认为,如果您继续从这里阅读会更有意义。

尝试添加到PATH之前,我建议先测试程序。在您的情况下,我会这样:

wget https://releases.hashicorp.com/terraform/0.9.8/terraform_0.9.8_linux_amd64.zip
unzip terraform_0.9.8_linux_amd64.zip
./terraform

注意最后一行./terraform。zip文件包含一个文件terraform,现在应该在当前目录中因此我可以使用./terraform运行。如果是可执行的。如果不可执行,请确认:

ls -l terraform

并在需要时使其可执行:

chmod +x terraform

现在,让我们将其添加到PATH。但首先,让我们决定在哪里放置此可执行文件。 /usr/local/bin似乎是一个合理的位置。因此,让我们将terraform的可执行文件移动到该目录中。

通常/usr/local/bin已经在PATH上因此,您可能无需更改任何内容。现在您可以尝试检查,并且很有可能已经有效:

terraform -version

如果不是,则/usr/local/bin不在PATH上。要添加它,请在~/.profile中添加此行:

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

两件事在您的方法上从根本上看上去是错误的:

  1. /usr/local/terraform添加到PATH。这是可怕的,因为PATH上的条目必须是目录,在您的帖子中,没有任何内容表明您在/usr/local/terraform上创建了一个目录。

    • 您将cd进入/usr/local,然后 unzip Terraform的ZIP文件。链接的zip包含一个名为 terraform的单个文件,因此示例中的 /usr/local/terraform应该是一个文件。
    • 如果是一个文件,则可以通过添加为PATH添加到其基本目录中来使其可执行为terraform。但是将/usr/local添加到PATH并不是一个好主意。通常将二进制文件放入/usr/local/bin,而不是直接进入/usr/local
  2. 您没有提及如何重新加载~/.profile。编辑此文件后,您添加的新命令不会在当前的外壳中自动执行。当您打开新外壳时,它们将被执行。或者,您可以在当前外壳中手动执行添加的命令。

点击下方命令

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

相关内容

最新更新