J'ai l'habitude de mettre des scripts communs dans /usr/local/bin
pour pouvoir les exécuter de n'importe où avec le terminal.
Par exemple, je crée un script Shell nommé 1
, le rend exécutable avec chmod +x 1
et le mets dans /usr/local/bin
et, à l'intérieur du script, je tape #!/bin/sh
sur la première ligne, puis mes commandes. A partir de là, il est très facilement utilisable et rapide à exécuter en tapant
1
Enter
name__
sur le terminal, depuis n'importe quel dossier.
Mon problème est que je travaille actuellement sur un ordinateur sur lequel Sudo
ne peut pas fonctionner et que je ne peux pas espérer l'obtenir non plus. Je ne peux donc pas placer mon script dans /usr/local/bin
.
Quelles sont mes options? Existe-t-il un autre chemin avec la même capacité "exécuter de partout", auquel je peux accéder sans Sudo
name__, ou un autre moyen d'obtenir quelque chose d'équivalent?
La réponse acceptée à ce post dit
Pour les scripts définis par l'utilisateur, utilisez bin/dans votre répertoire personnel.
J'ai essayé, mais il n'y a pas de dossier bin
dans mon répertoire personnel et, lorsque j'en ai créé un, je ne pouvais toujours pas exécuter le script ailleurs.
Je suis sous Ubuntu 12.04 LTS.
Quelles sont mes options? Existe-t-il un autre chemin avec la même capacité "exécuter de partout", auquel je peux accéder sans Sudo, ou un autre moyen d'obtenir quelque chose d'équivalent?
Comment faire?
Créez un répertoire dans votre maison pour que vos scripts portent normalement le nom bin
comme convention.
mkdir ~/bin
Maintenant, déplacez vos scripts vers bin
mv somescript ~/bin
Maintenant, comment le faire venir de partout?!
Vous devez ajouter le bin
au PATH
ouvrez votre .bashrc
gedit .bashrc
et ajoutez cette ligne:
export PATH=$PATH:/home/username/bin
N'oubliez pas de remplacer username
par votre nom d'utilisateur
Sauvegarder et quitter, puis source le bashrc
source .bashrc
et maintenant vous allez bien, vous pouvez exécuter votre script comme vous le faisiez! mais vous devez noter que cela est lié à votre utilisateur uniquement.
Remarque: il est préférable de renommer vos scripts autres que 1, 2, car vous pourriez avoir des problèmes avec ces noms
METTRE À JOUR:
Vous pouvez faire de même, créez simplement le répertoire bin dans votre maison, puis source ~/.profile
au lieu de ~/.bashrc
. Depuis que l’ajout du ~/bin à votre PATH est déjà répertorié dans .profile
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
En plus de https://askubuntu.com/a/643030/218015 , vous pouvez également définir un alias dans votre .bashrc pour de petites tâches souvent utilisées. Par exemple.
alias ll='ls -l'
alias ls='ls --color=auto'
vous créera une "commande" ll, qui fait ls -l et ls sera colorée après avoir défini le pseudonyme. https://wiki.ubuntuusers.de/alias a quelques exemples supplémentaires et un guide pour le configurer.