Debe copiar o vincular el script en un directorio que se encuentra en $PATH. Normalmente /usr/bin
y /usr/local/bin/
están en la ruta, por lo que son buenas ubicaciones para vincular o copiar el script.
ln -s /path/to/your/script /usr/local/bin
Si no eres root, necesitarás sudo
ese comando o ejecutarlo como usuario root.
Una opción es simplemente escribir la ruta al script:
~/Desktop/script
Esto funciona bien, pero se vuelve un poco difícil de manejar.
Esto es lo que PATH
la variable de entorno es para. Y es lo que $HOME/bin
es para.
- Cree usted mismo un directorio
$HOME/bin
. Pon todos tus scripts ejecutables en él (hazlos ejecutables conchmod +x script
si es necesario). De esta manera, hay un lugar para buscar los scripts que desea ejecutar. - Agregar
$HOME/bin
a tuPATH
. Pongo el mío al frente:PATH="$HOME/bin:$PATH
, pero puedes ponerlo en la parte de atrás si lo prefieres. - Actualiza tu
.profile
o.bash_profile
(o posiblemente.bashrc
) archivo para configurarPATH
. Sin embargo, tenga cuidado con un PATH en continuo crecimiento.
Como señaló tripleee, una vez que el comando está instalado en un directorio en PATH
, ya no escribes ./script
, pero solo script
. Esto es exactamente como escribes ls
y no /bin/ls
, etc. Una vez que el programa está instalado en un directorio en su PATH
, es (para muchos propósitos) indistinguible de un comando proporcionado por el sistema.
Tengo alrededor de 500 scripts y programas en mi $HOME/bin
directorio.
Tenga en cuenta que esto no requiere ningún privilegio especial. Si tiene acceso de administrador a su máquina y cree que otros usuarios pueden encontrar útiles sus comandos, puede instalar los scripts/programas en uno de los directorios proporcionados por el sistema en su PATH
. Sin embargo, generalmente es mejor no agregar programas a ninguno de:
/bin
/usr/bin
/sbin
/usr/sbin
A menudo/normalmente hay /usr/local/bin
que es un lugar adecuado para comandos ampliamente utilizados que no proporciona el sistema.
Sería mejor usar chmod a+x,go-w script
; sus guiones no deben ser escribibles por otras personas. Incluso podría simplemente usar chmod 555 script
o chmod 755 script
. Tiendo a mantener mis scripts no escribibles. De esa manera, tengo que pasar por un proceso de cambio formal con el sistema de control de versiones. Significa que hay menos peligro de cambios descontrolados.