Où dois-je mettre mes scripts bash

10

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 si .. alors les déclarations vraiment. Comme cela doit être exécuté comme sudo, serait-il préférable de placer mon script dans / usr / bin (ou un autre emplacement dans PATH), chown à root.root et chmod à 700?

    
posée hatterman 21.01.2018 - 23:30
la source

3 réponses

0

Je sauvegarde mes propres scripts dans /opt/scripts .

Si votre script doit être exécuté par tous les utilisateurs du système, vous pouvez créer un lien symbolique vers /usr/bin .

Si seul root 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/ se trouve dans votre PATH par défaut.

    
réponse donnée SynPrime 21.01.2018 - 23:53
la source
14

Si aucun autre utilisateur que vous n’utilise ces scripts:

Ensuite, vous pouvez les conserver dans /home/$USER/bin . Créez le dossier bin s'il n'y est pas et déplacez-y les fichiers. Le dossier bin de votre domicile 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 / username / bin à $ PATH ?

Ou dans certains systèmes, il peut s'agir de .bashrc :

export PATH=${HOME}/bin/:${HOME}/.local/bin:${PATH}

Merci Elder Geek

Si ces scripts doivent être utilisés par d'autres utilisateurs:

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 ça aide

    
réponse donnée user68186 22.01.2018 - 00:06
la source
2

J'ai un répertoire que j'utilise pour la collecte rapide de mes outils locaux ou des choses que je déploie sur divers ordinateurs en /usr/local/apollo . Il y a des branches 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 apt-get par défaut, elles sont placées dans /opt/ et dans un répertoire par le nom de l'application, avec un sous-répertoire supplémentaire pour la version spécifique de l'application. De cette façon, ma version compilée d'une application telle que vlc ou eclipse n'entrera pas en conflit avec la version distribuée.

Mon utilisation de /opt est la manière dont elle est officiellement conçue.

En passant, les répertoires /usr/local/bin , /usr/local/apollo et /opt survivent à un remplacement de l'installation de la nouvelle version du système d'exploitation.

    
réponse donnée L. D. James 27.09.2016 - 01:39
la source

Lire d'autres questions sur les étiquettes