Procedura dettagliata per rendere disponibile ovunque uno script Python:
Crea uno script Python:
cd /home/el/bin
touch stuff.py
chmod +x stuff.py
Scopri dov'è il tuo pitone:
which python
/usr/bin/python
Inserisci questo codice:
#!/usr/bin/python
print "hi"
Esegui nella stessa directory:
python stuff.py
Sali in una directory e non è disponibile:
cd ..
stuff.py
-bash: stuff.py: command not found
Non trovato! È come previsto, aggiungi il percorso del file python a $PATH
vi ~/.bashrc
Aggiungi il file:
export PATH=$PATH:/home/el/bin
Salvalo, applica nuovamente il .bashrc e riprova
source ~/.bashrc
Riprova:
cd /home/el
stuff.py
Stampe:
hi
Il trucco è che la shell bash conosce la lingua del file tramite shebang.
Basta creare ~/bin
e inserisci export PATH=$PATH:$HOME/bin
nel tuo bashrc/profilo. Non scherzare con il sistema, lo farà morditi, fidati di me.
Poche altre cose (rilevanti per la domanda ma non parte della risposta):
- Al contrario
export PATH=$HOME/bin:$PATH
NON è sicuro, perché bash esaminerà il tuo~/bin
cartella per gli eseguibili e se il loro nome corrisponde ad altri eseguibili nel tuo$PATH
originale rimarrai sorpreso dall'esecuzione di comandi inaspettati/non funzionanti. - Non dimenticare di
chmod+x
quando salvi il tuo script in~/bin
. - Sii consapevole di ciò che stai inserendo nel tuo
~/bin
cartella, se stai solo testando qualcosa o lavorando su uno script non finito, è sempre meglio usare ./$SCRIPT_NAME dal tuoCWD
per eseguire lo script piuttosto che metterlo sotto~/bin
.
Il posto migliore per mettere cose come questa è /usr/local/bin
.
Questo è il posto normale dove mettere i binari installati personalizzati e dovrebbe essere all'inizio del tuo PATH
.
Basta copiare lì lo script (probabilmente usando sudo
), e dovrebbe funzionare per qualsiasi utente.