La risposta diretta al tuo problema è alla fine. Ma penso che avrà più senso se continui a leggere da qui.
Prima di provare ad aggiungere a PATH
,Consiglio di testare prima un programma. Nel tuo caso farei così:
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
Notare l'ultima riga ./terraform
.Il file zip contiene un singolo file, terraform
, che ora dovrebbe trovarsi nella directory corrente, quindi posso eseguirlo con ./terraform
.Se è eseguibile.Se non è eseguibile, confermalo:
ls -l terraform
E rendilo eseguibile se necessario:
chmod +x terraform
Ora aggiungiamolo a PATH
.Ma prima, decidiamo dove mettere questo eseguibile./usr/local/bin
sembra una posizione ragionevole. Quindi spostiamo il terraform
eseguibile in quella directory.
Di solito /usr/local/bin
è già su PATH
, quindi potresti non aver bisogno di cambiare nulla. Ora puoi provare il tuo assegno e c'è una buona possibilità che funzioni già:
terraform -version
In caso contrario, allora /usr/local/bin
non è sul PATH
.Per aggiungerlo, aggiungi questa riga in ~/.profile
:
export PATH=$PATH:/usr/local/bin
Due cose sembravano fondamentalmente sbagliate nel tuo approccio:
-
Aggiunta di
/usr/local/terraform
aPATH
. Questo è sospetto, perché le voci suPATH
devono essere directory e nel tuo post nulla indica che hai creato una directory in/usr/local/terraform
.- Tu
cd
in/usr/local
, quindiunzip
il file zip di terraform. Lo zip collegato contiene un singolo file denominatoterraform
, quindi/usr/local/terraform
nel tuo esempio dovrebbe esserci un file. - Se è un file, puoi renderlo eseguibile come
terraform
aggiungendo per aggiungere aPATH
la sua directory di base. Ma aggiungendo/usr/local
aPATH
non sarebbe una buona idea. È convenzionale inserire i binari in/usr/local/bin
, non direttamente in/usr/local
- Tu
-
Non hai menzionato come hai ricaricato
~/.profile
. Dopo aver modificato questo file, i nuovi comandi aggiunti non vengono eseguiti automaticamente nella shell corrente. Verranno eseguiti quando apri una nuova shell. Oppure puoi eseguire manualmente i comandi aggiunti nella shell corrente.