Hay cuatro formas de ejecutar un script de shell. Cada forma tiene su propio significado como se explica en este artículo.
1. Ejecutar secuencia de comandos de Shell usando el nombre de archivo
Use el nombre del archivo de script de shell para ejecutarlo usando su ruta relativa o ruta absoluta como se muestra a continuación.
$ cd /home/sathiya $ ./scriptfile (or) $ /home/sathiya/scriptfile
Si tiene el shebang, se ejecutará utilizando el intérprete de comandos especificado en el shebang. Si es un principiante en la creación de scripts de shell, consulte nuestro artículo anterior Directrices de ejecución de scripts de shell para novatos
2. Ejecute Shell SCript especificando el intérprete
También puede ejecutar un script de shell de Unix especificando el intérprete en la línea de comando como se muestra a continuación.
Ejecutar usando el intérprete sh
$ sh scriptfile
Ejecutar usando bash interpreter
$ bash scriptfile
Independientemente de lo que se utilice como shebang, el intérprete que haya especificado se utilizará para la ejecución. Puede usar cualquier intérprete (sh, ksh, bash, csh, etc.).
3. Ejecutar secuencia de comandos de Shell mediante . ./ (punto espacio punto barra)
Al ejecutar el script de shell usando "punto espacio punto barra oblicua", como se muestra a continuación, ejecutará el script en el shell actual sin bifurcar un subshell.
$ . ./scriptfile
En otras palabras, esto ejecuta los comandos especificados en el archivo de script en el shell actual y prepara el entorno para usted.
“punto espacio punto barra diagonal” Ejemplo de uso:
Por lo general, usamos este método cada vez que cambiamos algo en .bashrc o .bash_profile. es decir, después de cambiar .bashrc o .bash_profile, podemos cerrar sesión e iniciar sesión para que se realicen los cambios (o) usar "punto espacio punto barra oblicua" para ejecutar .bashrc o .bash_profile para que los cambios surtan efecto sin cerrar sesión e iniciar sesión.
$ cd ~ $ . ./.bashrc $ . ./.bash_profile
4. Ejecutar secuencia de comandos de Shell usando el comando fuente
El comando fuente integrado es sinónimo de . (punto) explicado anteriormente. Si no se siente cómodo con el método "punto espacio punto barra diagonal", puede usar el comando fuente como se muestra a continuación, ya que ambos son iguales.
$ source ~/.bashrc
¿Qué método prefiere para ejecutar un script de shell?