J'ai quelques scripts bash très simples que j'ai bricolés pour des choses que je fais régulièrement. L'un d'eux consiste à exécuter la duplicité pour effectuer mes tâches de sauvegarde. Rien d'intelligent, juste un tas de déclarations si… alors vraiment. Comme cela doit être exécuté en tant que Sudo, serait-il préférable de placer mon script dans/usr/bin (ou à un autre emplacement dans PATH), de le placer sur root.root et de chmod sur 700?
Je sauvegarde mes propres scripts dans /opt/scripts
.
Si votre script doit pouvoir être exécuté par tous les utilisateurs du système, vous pouvez créer un lien symbolique vers /usr/bin
.
Si seule la racine doit exécuter le script, vous pouvez créer un lien symbolique vers /usr/sbin
.
Commande pour ajouter un lien symbolique dans /usr/bin/
:
ln -s /opt/scripts/<script> /usr/bin/
Vous pouvez exécuter le script, car /usr/bin/
est dans votre CHEMIN par défaut.
Ensuite, vous pouvez les conserver dans /home/$USER/bin
. Créez le dossier bin
s'il ne s'y trouve pas et déplacez-y les fichiers. Le dossier bin de votre maison sera automatiquement ajouté à la variable d’environnement PATH. Le code est dans le .profile
:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Voir Comment ajouter/home/nom d'utilisateur/bin à $ PATH?
Ou, dans certains systèmes, il peut s'agir de .bashrc
:
export PATH=${HOME}/bin/:${HOME}/.local/bin:${PATH}
Merci Elder Geek
Alors, /usr/local/bin
ou /opt/bin
sont de bonnes options. Voir Existe-t-il un emplacement standard pour placer des scripts Linux personnalisés?
J'espère que cela t'aides
J'ai un répertoire que j'utilise pour la collecte rapide de mes outils locaux ou d'éléments que je déploie sur différents ordinateurs dans /usr/local/apollo
. Il existe des branches hors de ce répertoire pour flags
, bin
et logs
.
Pour les applications que je télécharge et installe en dehors des référentiels par défaut apt-get
, sont placées dans /opt/
et dans un répertoire du nom de l'application, avec un sous-répertoire supplémentaire pour la version spécifique de l'application. Ainsi, ma version compilée d'une application telle que vlc
ou Eclipse
ne sera pas en conflit avec la version distribuée.
Mon utilisation de /opt
est la façon dont il a été conçu officiellement.
Soit dit en passant, les répertoires /usr/local/bin
, /usr/local/apollo
et /opt
survivent à un nouvel écrasement de l'installation de la version du système d'exploitation.