Onde devo colocar meus scripts de bash?

10

Eu tenho alguns scripts de bash muito simples que eu montei para fazer coisas que faço regularmente. Um deles é executar a duplicidade para executar minhas tarefas de backup. Nada inteligente apenas um monte de se .. então declarações realmente. Como isso precisa ser executado como sudo, seria uma boa prática colocar meu script em / usr / bin (ou outro local no PATH), chown para root.root e chmod para 700?

    
por hatterman 21.01.2018 / 23:30

3 respostas

0

Salve meus próprios scripts em /opt/scripts .

Se o seu script puder ser executado por todos os usuários do sistema, você poderá criar um link simbólico para /usr/bin .

Se somente o root deve executar o script, você pode criar um link simbólico para /usr/sbin .

Comando para adicionar um link simbólico em /usr/bin/ :

ln -s /opt/scripts/<script> /usr/bin/

Você pode executar o script, porque /usr/bin/ está em seu PATH por padrão.

    
por SynPrime 21.01.2018 / 23:53
14

Se nenhum outro usuário além de você usar esses scripts:

Depois, você pode mantê-los em /home/$USER/bin . Crie a pasta bin se ela não estiver lá e mova os arquivos para lá. A pasta bin em sua casa será automaticamente adicionada à variável de ambiente PATH. O código está no .profile :

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Veja Como adicionar / home / username / bin a $ PATH

Ou, em alguns sistemas, pode estar em .bashrc :

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

Obrigado Elder Geek

Se esses scripts forem usados por outros usuários:

Em seguida, /usr/local/bin ou /opt/bin são boas opções. Veja Existe um local padrão para colocar scripts Linux customizados?

Espero que isso ajude

    
por user68186 22.01.2018 / 00:06
2

Eu tenho um diretório que uso para a coleção rápida de minhas ferramentas locais ou coisas que eu implanto em vários computadores em /usr/local/apollo . Existem ramificações desse diretório para flags , bin e logs .

Para os aplicativos que eu baixo e instalo fora dos repositórios apt-get padrão, coloco em /opt/ e um diretório pelo nome do aplicativo, com mais um subdiretório para a versão específica do aplicativo. Dessa forma, minha versão compilada de um aplicativo como vlc ou eclipse não entrará em conflito com a versão distribuída.

Meu uso de /opt é basicamente o modo como é projetado oficialmente.

A propósito, os diretórios /usr/local/bin , /usr/local/apollo e /opt sobrevivem a uma nova instalação de versão do SO.

    
por L. D. James 27.09.2016 / 01:39