¿Hay alguna manera de crear un contenedor de línea de comando para un archivo bash?

¿Hay alguna manera de crear un contenedor de línea de comando para un archivo bash?

El título lo dice todo. Me gustaría escribir "ejecutar" en la línea de comando y ejecutaría /pathtoscript/script.sh.
¡Gracias!

Respuesta1

Cree un archivo llamado runcon el contenido:

#!/bin/sh
exec /pathtoscript/script.sh "$@"

Coloque el archivo en su ruta y configure el bit ejecutable.

¿Cuál es "tu camino"?

En la línea de comando, escriba:

echo $PATH

Verá una lista de directorios separados por dos puntos. Estos son los directorios en los que el shell busca cuando busca un comando para ejecutar. Se les llama colectivamente el camino. Querrá colocar su nuevo archivo runen cualquiera de esos directorios.

Enfoque alternativo para el trabajo interactivo

Si solo desea runtrabajar cuando trabaja de forma interactiva, puede crear un alias:

alias run=/pathtoscript/script.sh

Si desea que este alias se guarde permanentemente, coloque esa línea en .bashrcsu directorio de inicio.

Respuesta2

En shells *nix, la forma en que esto se hace es agregando unArchivo ejecutable(o enlace simbólico a un archivo ejecutable) a uno de losdirectorioslistado enLa PATHvariable. De una sesión hipotética:

$ which foo
which: no foo in (/usr/local/sbin:/usr/local/bin:/usr/bin)
$ foo
bash: foo: command not found
$ echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/bin
$ sudo ln -s /path/to/my/script /usr/local/bin/foo
$ foo
[whatever your script prints]

información relacionada