Scripts de Bash: ¿por qué no se ejecuta el eco?

Scripts de Bash: ¿por qué no se ejecuta el eco?

Intenté crear un script bash.

vi hello_world

Dentro del guión que he escrito

#!/bin/bash
text="Hello World"
echo $text

cuando escribo

echo $hello_world

¿No debería ejecutarse el script y luego imprimir "Hello World"? ¿O hay algún problema con la sintaxis?

Respuesta1

Utiliza la sintaxis incorrecta para llamar al script.

echo $hello_world

imprime el contenido de la variable hello_world.

Debe escribir la ruta al script para ejecutar el script de shell hello_world:

./hello_world

Esto se ejecuta hello_worldsi está en el directorio de trabajo actual.

Para ejecutar el script directamente (es decir, con ./script), debe hacerlo ejecutable. Puedes hacer esto con:

chmod +x ./hello_world

o utilizando el cuadro de diálogo de propiedades de archivo de su administrador de archivos.

Respuesta2

Suponiendo que el script está en su directorio de trabajo actual, deberá ejecutar lo siguiente para ejecutar su script.

./hello_world

Si su script aún no tiene permisos para ejecutarse, puede hacerlo conchmod +x hello_world

Respuesta3

Quizás la ubicación de bashsea diferente.

Podrías usar el bootstrap en su lugar

#!/usr/bin/env bash
text="Hello World"
echo $text

EDITAR: Era tan obvio que no vi la sintaxis incorrecta para ejecutar el script. Intentar:

./hello_world

información relacionada