Dove devo inserire i miei script di bash

11

Ho alcuni script bash molto semplici che ho messo insieme per cose che faccio regolarmente. Uno di questi è eseguire la duplicazione per eseguire le mie attività di backup. Niente di intelligente solo un mucchio di se ... poi affermazioni davvero. Dato che questo deve essere eseguito come sudo, sarebbe meglio mettere il mio script in / usr / bin (o in un'altra posizione in PATH), chown su root.root e chmod su 700?

    
posta hatterman 21.01.2018 - 23:30

3 risposte

0

Salva i miei script in /opt/scripts .

Se lo script deve essere eseguibile da tutti gli utenti di sistema, puoi creare un link simbolico a /usr/bin .

Se solo root dovrebbe eseguire lo script, puoi creare un link simbolico a /usr/sbin .

Comando per aggiungere un collegamento simbolico in /usr/bin/ :

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

Puoi eseguire lo script, perché /usr/bin/ si trova nel tuo PERCORSO per impostazione predefinita.

    
risposta data SynPrime 21.01.2018 - 23:53
14

Se nessun altro utente diverso da te usa questi script:

Quindi puoi mantenerli in /home/$USER/bin . Crea la cartella bin se non è lì e sposta lì i file. La cartella bin di casa verrà automaticamente aggiunta alla variabile di ambiente PATH. Il codice è in .profile :

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

Vedi Come aggiungere / home / username / bin a $ PATH ?

O in alcuni sistemi potrebbe essere in .bashrc :

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

Grazie Elder Geek

Se questi script devono essere utilizzati da altri utenti:

Quindi /usr/local/bin o /opt/bin sono buone opzioni. Vedi Esiste un posto standard per posizionare script personalizzati di Linux?

Spero che questo aiuti

    
risposta data user68186 22.01.2018 - 00:06
2

Ho una directory che uso per la raccolta rapida dei miei strumenti locali o cose che distribuisco su vari computer in /usr/local/apollo . Ci sono rami fuori da questa directory per flags , bin e logs .

Per le applicazioni che scarico e installo al di fuori dei repository apt-get di default sono posizionati in /opt/ e una directory con il nome dell'app, con un'altra sottodirectory per la versione specifica dell'applicazione. In questo modo la mia versione compilata di un'applicazione come vlc o eclipse non entrerà in conflitto con la versione distribuita.

Il mio uso di /opt è il modo in cui è fondamentalmente progettato ufficialmente.

Tra l'altro, le directory /usr/local/bin , /usr/local/apollo e /opt sopravvivono a una nuova sovrascrittura dell'installazione della versione del sistema operativo.

    
risposta data L. D. James 27.09.2016 - 01:39

Leggi altre domande sui tag