Vous devez copier ou lier le script dans un répertoire qui se trouve sur le $PATH. Généralement /usr/bin
et /usr/local/bin/
sont sur le chemin, ce sont donc de bons emplacements pour lier ou copier le script.
ln -s /path/to/your/script /usr/local/bin
Si vous n'êtes pas root, vous devrez soit sudo
cette commande ou exécutez-la en tant qu'utilisateur root.
Une option consiste simplement à saisir le chemin d'accès au script :
~/Desktop/script
Cela fonctionne bien, mais devient un peu lourd.
C'est ce que le PATH
la variable d'environnement est pour. Et c'est ce que $HOME/bin
est pour.
- Créez-vous un répertoire
$HOME/bin
. Mettez-y tous vos scripts exécutables (rendez-les exécutables avecchmod +x script
si besoin est). De cette façon, il n'y a qu'un seul endroit pour rechercher les scripts que vous souhaitez exécuter. - Ajouter
$HOME/bin
à votrePATH
. J'ai mis le mien devant :PATH="$HOME/bin:$PATH
, mais vous pouvez le mettre à l'arrière si vous préférez. - Mettez à jour votre
.profile
ou.bash_profile
(ou éventuellement.bashrc
) fichier pour définirPATH
. Méfiez-vous cependant d'un PATH qui ne cesse de croître.
Comme tripleee l'a noté, une fois la commande installée dans un répertoire sur PATH
, vous ne tapez plus ./script
, mais juste script
. C'est exactement comme si vous tapiez ls
et non /bin/ls
, etc. Une fois le programme installé dans un répertoire de votre PATH
, il est (à de nombreuses fins) impossible à distinguer d'une commande fournie par le système.
J'ai environ 500 scripts et programmes dans mon $HOME/bin
répertoire.
Notez que cela ne nécessite aucun privilège particulier. Si vous avez un accès administrateur à votre machine et que vous pensez que d'autres utilisateurs pourraient trouver vos commandes utiles, vous pouvez installer les scripts/programmes dans l'un des répertoires fournis par le système sur votre PATH
. Cependant, il est généralement préférable de ne pas ajouter de programmes à l'un des éléments suivants :
/bin
/usr/bin
/sbin
/usr/sbin
Il y a souvent/habituellement /usr/local/bin
qui est un endroit approprié pour les commandes largement utilisées non fournies par le système.
Il serait préférable d'utiliser chmod a+x,go-w script
; vos scripts ne doivent pas être accessibles en écriture par d'autres personnes. Vous pouvez même simplement utiliser chmod 555 script
ou chmod 755 script
. J'ai tendance à garder mes scripts non inscriptibles. De cette façon, je dois passer par un processus de changement formel avec le système de contrôle de version. Cela signifie qu'il y a moins de risques de changements incontrôlés.