Come eseguire il mio programma senza specificare il suo percorso


11

Supponiamo di aver compilato qualcosa e di eseguirlo in questo modo:

$ /path/to/my/executable/mycmd
Hello World

Cosa devo fare per eseguirlo come

$ mycmd
Hello World 

da ogni parte del mio computer?

Risposte:


15

Quello che stai cercando è la PATHvariabile ambientale. Indica alla shell dove deve cercare i programmi. Puoi vedere il valore corrente di quella variabile usando echo:

echo "$PATH"

Ora ... La migliore pratica se vuoi usare un nuovo programma è installarlo usando il programma di gestione dei pacchetti per la tua distribuzione. Ma in questo caso, suppongo che tu abbia a che fare con un programma che non è fornito da nessun pacchetto software disponibile. Per tali programmi, hai due opzioni:

  1. Installa il programma a livello di sistema, in un luogo in cui il tuo sistema non inserisca alcun file installato dai pacchetti. Sulla maggior parte dei sistemi, tali cartelle "sicure" includono /usr/local/bin/e /opt/bin/- quelle dovrebbero già essere nella tua PATH. (Guarda dentro queste cartelle e se ci sono molti file in esse, allora è il posto sbagliato per mettere il tuo programma e devi guardare altre cartelle elencate nella tua PATH.)
  2. Modifica la tua PATHvariabile. Questo è meno sicuro, perché definisce cartelle aggiuntive in cui i programmi possono essere conservati e qualcuno potrebbe giocare un trucco su di te, mettendo lì il suo programma per l'esecuzione.

    È possibile modificare la PATHvariabile temporaneamente, utilizzando

    export PATH="$PATH:/path/to/your/executable"
    

    (attenzione al $PATH dopo = ), o in modo permanente aggiungendo la riga sopra al tuo .bashrcfile (supponendo che tu usi bash).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.