Creare un alias o aggiungere un percorso?


2

Ho appena installato un nuovo programma (chiamiamolo foo) sulla mia macchina Linux. I file del programma si trovano in una posizione insolita che attualmente non fa parte del mio $PATH. Se vorrei essere in grado di eseguire facilmente questo programma dal terminale, mentre in una directory, è meglio cambiare la mia variabile $ PATH o creare un alias? Importa?

Ad esempio, il metodo alias aggiungerebbe questo: alias foo = "/ path / to / program / foo.sh"

E il metodo $ PATH sarebbe: export PATH = / path / to / program; $ PATH

Quale è meglio e perché?

Risposte:


2

"Meglio" è un termine un po 'nebuloso, ma consiglierei di aggiungere la directory del programma $PATH, perché (diversamente dagli alias) che saranno ereditati dai sottoprocessi della tua shell.

Ad esempio, se si avvia un editor dalla shell e si desidera eseguire foo.sh dall'interno dell'editor, ad esempio per compilare il file che si sta modificando o trasformarne il testo, l'editor saprà dove trovare foo. sh; se invece aggiungi un alias, dovresti specificare il percorso completo di foo.sh quando lo esegui dall'editor.


2

C'è una terza opzione. Creare un collegamento da una delle directory in $ PATH al programma. Una nuova directory può essere dedicata solo per questo scopo (per collegarsi a programmi in posizioni non standard). In questo modo PATH non sarà inquinato se ci sono altri programmi come questo aggiunto in futuro e anche Aaron menziona, non dipenderà dall'alias in cui l'alias non è disponibile.


1

Il percorso assoluto (qui il tuo alias) è sempre più veloce di impostare la PATHvariabile ..

Perché quando si imposta la PATHvariabile, ad esempio "/ path / to / program" e si desidera eseguire la foo.shshell, guardare la PATHvariabile e quindi cercare foo.sh in quella directory (/ path / to / program) ma quando si utilizza path assoluto (qui foo variabile), la shell non guarderà il percorso e quindi cercherà quella directory (/ path / to / program) per trovare "foo.sh".

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.