Tengo algunos scripts de bash muy simples que combiné para cosas que hago regularmente. Una de ellas es ejecutar duplicidad para hacer mis tareas de respaldo. Nada inteligente, solo un montón de si ... entonces declaraciones realmente. Como esto debe ejecutarse como sudo, ¿sería una buena práctica poner mi script en / usr / bin (u otra ubicación en PATH), conocido como root.root y chmod a 700?
15

gitpara controlar las versiones de sus scripts, coloque copias locales de los repositorios de git en algún lugar que le guste~y luego enlace simbólicamente los scripts~/bin.gitcomogithuben las nubes?/usr/local/bin. De lo contrario, yo diría que sólo hay que poner en~/bin. Sus propios scripts en ambos directorios deben estar seguros cuando actualice.~/bines el mejor lugar para la mayoría de los scripts, ya que no tiene que usarlossudopara editarlos como lo hace cuando están almacenados/usr/local/bin.Respuestas:
Guardo mis propios scripts en
/opt/scripts.Si su script debe ser ejecutable por cada usuario del sistema, puede crear un enlace simbólico a
/usr/bin.Si solo root debe ejecutar el script, puede crear un enlace simbólico a
/usr/sbin.Comando para agregar un enlace simbólico en
/usr/bin/:Puede ejecutar el script, porque
/usr/bin/está en su RUTA por defecto.fuente
/usr/bincomo objetivo para el script de shell de usuario / local, sea/usr/local/bin(o/opt/bin) según el Estándar de Jerarquía del Sistema de Archivos - Wiki de Debian para evitar conflictos (la mayoría de las veces, desea que los scripts proporcionados por Ubuntu tengan prioridad)./usr/local/binanula/usr/bin, ya que viene más adelante en el camino. Esto es a propósito, ya que el sistema no coloca archivos allí, por lo que puede colocar archivos allí, que DEBERÍAN anular los proporcionados por el sistema.Si ningún otro usuario que no sea usted usa estos scripts:
Entonces puedes mantenerlos adentro
/home/$USER/bin. Cree labincarpeta si no está allí y mueva los archivos allí. La carpeta bin en su hogar se agregará automáticamente a la variable de entorno PATH. El código está en.profile:Consulte ¿Cómo agregar / home / username / bin a $ PATH?
O en algunos sistemas puede estar en
.bashrc:Gracias, élder Geek
Si estos scripts deben ser utilizados por otros usuarios:
Entonces,
/usr/local/bino/opt/binson buenas opciones. Consulte ¿Existe un lugar estándar para colocar scripts de Linux personalizados?Espero que esto ayude
fuente
Tengo un directorio que uso para la recopilación rápida de mis herramientas locales o cosas que implemento en varias computadoras
/usr/local/apollo. Hay ramas fuera de este directorio paraflags,binylogs.Para las aplicaciones que descargo e instalo fuera de los
apt-getrepositorios predeterminados, se colocan en/opt/un directorio por el nombre de la aplicación, con un subdirectorio más para la versión específica de la aplicación. De esta manera, mi versión compilada de una aplicación comovlcoeclipseno conflicto con la versión distribuida.Mi uso de
/optes la forma en que está básicamente diseñado oficialmente.Por cierto, los directorios
/usr/local/bin,/usr/local/apolloy/optsobrevive a una nueva instalación de la versión del sistema operativo se sobrescriben.fuente
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/binMe gusta el hecho de/usr/local/binque ya está en el camino una cosa menos para recordar. Me gusta su método/opt/program/version, puedo usarlo para las cosas del kernel que obtengo y compilar como EnhanceIO, donde cambian las cosas entre las versiones del kernel. ¿Es/apolloun aterrizaje lunar favorito personal o tiene significado de Ubuntu?/usr/local/binyusr/local/sbintal que este último se destruye durante las actualizaciones?/usr/localdirectorios, pero no pone nada en ninguno de ellos. Esos directorios son poblados por el usuario. Muchos programas de origen fuera de los repositorios le dan al usuario la opción de seleccionar dónde quiere que vaya la instalación. Los valores predeterminados en los archivos de configuración son/usr/local/bin. Entonces, debido a lo común que es usar esos directorios, se incluyen en la ruta del usuario de forma predeterminada. Por defecto, el sistema busca~/biny agrega a la ruta si existe.~/bindurante la instalación o cada arranque? ¿Cuál es la diferencia entresbinybin? Parecen coexistir, debe haber cuasi-reglas que elijas según el tipo de programa, ¿verdad?~/binruta ... no se agrega durante la instalación. El sistema lo busca en cada inicio de sesión y lo agrega a $ PATH si existe durante el inicio de sesión. Mira las dos últimas líneas de tu~/.profileconfiguración.