GNU/Linux >> Tutoriales Linux >  >> Linux

Directrices de ejecución de scripts de Shell para novatos

Pregunta :¿Cuáles son las cosas fundamentales básicas que debo saber para ejecutar un script de shell? Además, cuando ejecuto mi script de shell, aparece el mensaje de error "Permiso denegado". ¿Cómo lo soluciono?

Respuesta :Repasemos las 4 cosas fundamentales básicas que debe saber sobre la ejecución de un script de shell.

1. Ubique el ejecutable de shell y póngalo como she-bang #!

Identifique la ruta completa de donde está instalado el shell.

$ which sh
/bin/sh

(or)

$ which ksh
$ which bash

Una vez que haya identificado la ubicación del ejecutable de shell, indíquelo como shebang (#!) en la primera línea del archivo de script de shell.

$ vim helloworld.sh

#!/bin/sh
echo "Hello World!"

2. Asignar permiso de ejecución al archivo Shell Script

Si no tiene permiso de ejecución en el script, recibirá el mensaje de error "Permiso denegado" como se muestra a continuación.

$ ./helloworld.sh
bash: ./helloworld.sh: Permission denied

Asigne permiso de ejecución al archivo de secuencia de comandos mediante el comando chmod como se muestra a continuación.

$ chmod u+x helloworld.sh

Si desea otorgar permiso de ejecución al grupo y a otros, hágalo como se muestra a continuación.

$ chmod 755 helloworld.sh

Nota: También puede hacer esto como un proceso automático. es decir, cada vez que abre un archivo de script de shell, las dos cosas necesarias:agregar el shebang y otorgar permiso de ejecución se pueden hacer automáticamente usando el complemento bash-support.vim. Consulte nuestro artículo anterior Haga que Vim sea su Bash-IDE usando el complemento bash-support para obtener más detalles.

3. Ejecute el script especificando la ruta absoluta o relativa

Puede ejecutar un script de shell utilizando la ruta absoluta o la ruta relativa.

Ejecute el script especificando la ruta absoluta como se muestra a continuación.

$ /home/ramesh/scripts/helloworld.sh
Hello World!

Ejecutar el script especificando la ruta relativa como se muestra a continuación.

$ cd /home/ramesh/

$ ./scripts/helloworld.sh
Hello World!

(or)

$ cd /home/ramesh/scripts

$ ./helloworld.sh
Hello World!

4. Ejecutar el script como un comando normal de Linux

También puede ejecutar un script sin especificar la ruta completa, la ruta absoluta o la ruta relativa. Para hacer esto, agregue el directorio donde se encuentra todo el script de shell a su variable de entorno PATH como se muestra a continuación.

Por ejemplo, una vez que agregué /home/ramesh/scripts a la variable de entorno PATH, puedo ejecutar el script desde cualquier directorio.

$ export PATH=$PATH:/home/ramesh/scripts

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/ramesh/scripts

$ cd /go/to/anydirectory

$ helloworld.sh
Hello World!

Linux
  1. convención de nomenclatura para shell script y makefile

  2. Script bash:usar el comando de script desde un script bash para iniciar sesión

  3. Script de shell de Linux para la copia de seguridad de la base de datos

  4. Comenzando por Loop desde el segundo elemento - Script de Shell

  5. ¿Ansible evitará la ejecución de 'rm -rf /' en un script de shell?

Ssh:¿script de shell para iniciar sesión en un servidor Ssh?

¿Necesita un caparazón para Scp?

Imprimir el tiempo de ejecución de la secuencia de comandos de Shell en Linux

Zorin OS para principiantes de Linux

Iterar sobre líneas en lugar de palabras en un bucle for de script de shell

Script de transliteración para shell de linux