La respuesta directa a tu problema está al final. Pero creo que tendrá más sentido si sigues leyendo desde aquí.
Antes de intentar agregar a PATH ,Recomiendo probar un programa primero. En su caso, haría lo siguiente:
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
Observe la última línea ./terraform .El archivo zip contiene un solo archivo, terraform ,que ahora debería estar en el directorio actual, para poder ejecutarlo con ./terraform .Si es ejecutable.Si no es ejecutable, confírmelo:
ls -l terraform
Y hazlo ejecutable si es necesario:
chmod +x terraform
Ahora vamos a agregarlo a PATH .Pero primero, decidamos dónde colocar este ejecutable./usr/local/bin parece una ubicación razonable. Así que vamos a mover el terraform ejecutable en ese directorio.
Normalmente /usr/local/bin ya está en PATH , por lo que es posible que no necesite cambiar nada. Ahora puede probar su verificación y es muy probable que ya funcione:
terraform -version
Si no es así, entonces /usr/local/bin no está en el PATH .Para agregarlo, agregue esta línea en ~/.profile :
export PATH=$PATH:/usr/local/bin
Dos cosas parecían fundamentalmente incorrectas con su enfoque:
-
Agregando
/usr/local/terraformaPATH. Esto es sospechoso, porque las entradas enPATHdeben ser directorios, y en su publicación nada indica que creó un directorio en/usr/local/terraform.- Tú
cden/usr/localy luegounzipel archivo zip de terraform. El zip vinculado contiene un solo archivo llamadoterraform, entonces/usr/local/terraformen su ejemplo debería ser un archivo. - Si es un archivo, podría hacerlo ejecutable como
terraformagregando para agregar aPATHsu directorio base. Pero agregando/usr/localaPATHno sería una buena idea. Es convencional poner binarios en/usr/local/bin, no directamente en/usr/local
- Tú
-
No mencionaste cómo recargaste
~/.profile. Después de editar este archivo, los nuevos comandos que agregó no se ejecutan automáticamente en su shell actual. Se ejecutarán cuando abra un nuevo shell. O puede ejecutar manualmente los comandos agregados en el shell actual.