Sto cercando di installare qualcosa e tra i passaggi c'era questo:
"Posizionalo sul tuo $PATH"
Cosa significa questo? Cos'è quello?
Ho cercato sia questo sito che su Google, ma tutti lo danno per scontato!
Sto cercando di installare qualcosa e tra i passaggi c'era questo:
"Posizionalo sul tuo $PATH"
Cosa significa questo? Cos'è quello?
Ho cercato sia questo sito che su Google, ma tutti lo danno per scontato!
Risposte:
Esegui in un terminale:
echo $PATH
o
printf "%s\n" "$PATH"
quello che vedi è un elenco di directory, simile a:
/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Se si inserisce un eseguibile in una di queste directory, non è necessario impostare il percorso dell'eseguibile / dello script, ma è possibile eseguirlo con il suo nome come comando.
I file eseguibili $PATHnon dovrebbero avere un'estensione della lingua per convenzione (anche se funzionerebbero)
È possibile (permanentemente) aggiungere una directory $PATHaggiungendo la seguente riga al ~/.profilefile (invisibile per impostazione predefinita, premere Ctrl+ Hnel file manager per renderlo visibile):
export PATH=$PATH:/path/to/dir
(come $PATH) può essere trovato qui (grazie per i suggerimenti @Letizia)
$PATHè una variabile di ambiente relativa alla posizione del file .
Quando si digita un comando da eseguire, il sistema lo cerca nelle directory specificate PATHnell'ordine specificato.
È possibile visualizzare le directory specificate digitando echo $PATHnel terminale.
Supponiamo che sia presente un file eseguibile foobar01.shsul /home/user/foo1/foo2/foobar01.shquale si desidera eseguire regolarmente. digitare l'intero "percorso" richiederebbe molto tempo. Quindi aggiungiamo la directory alla $PATHvariabile e possiamo eseguire foobar.shdirettamente senza nemmeno specificare il percorso.
Puoi aggiungerlo $PATHdigitando il seguente comando
export PATH=$PATH:/home/user/foo1/foo2
Presumo che tu provenga da uno sfondo di Windows (mi scuso se non è vero). In parole povere, un percorso (o il percorso di ricerca) è l'elenco di directory che verranno ricercate per qualsiasi cosa digiti sulla riga di comando. Se digiti un comando integrato come ls, cercherà un elenco specificato di directory. Puoi cercare il tuo percorso digitando echo $ PATH. Ecco una differenza tra Windows e * nix: per impostazione predefinita, Windows cerca sempre il file eseguibile nella directory corrente. Ad esempio, se si dispone di un file chiamato uptime.bat in c: \ myscripts e si esegue cd c: \ myscripts e si digita uptime, verrà eseguito. Tuttavia, in * nix, verrà consultato il percorso e verrà trovato l'eseguibile (se disponibile).
Se conservi i tuoi script in una directory chiamata / home / teresa / scripts, per eseguire tali script, dovrai specificare il percorso completo di quella directory. Esempio: / hone / teresa / checkHost. Una variante sarebbe cd / home / teresa e quindi digitare ./checkHost (notare il ./ che significa che si sta esplicitamente chiedendo al file di essere eseguito dalla directory corrente.
Per evitarlo, puoi semplicemente digitare
export PATH = $ PATH: / home / teresa / script
il che significa che, oltre al percorso che già esiste ora, cerca anche in / hone / teresa / script. Tuttavia, il problema con questo è che una volta disconnesso, questa impostazione sarebbe scomparsa. Quindi, dovresti modificare il file nascosto ~ / .bashrc, trovare lì la linea PATH e aggiungerla di conseguenza. Presumo che tu usi bash. Nel caso di altre shell, la sintassi e il file sono diversi.
Come nuovo utente, è molto allettante avere. nel percorso di ricerca, che in pratica significa che cerca anche nella directory corrente. Tuttavia, questa non è considerata una buona pratica per motivi discussi altrove.
HTH