Intentando ejecutar algunas funciones bash, pero sigo encontrando un error de sintaxis: "(" inesperado. He intentado eliminar los corchetes, paréntesis, etc., etc. nada parece funcionar.
$ bash --version
GNU bash, version 4.3.46(1) release
#!/bin/bash
function hello () {
echo "Hello world"
}
Respuestas:
Si está ejecutando el script
sh hello.sh
, el intérprete de intérpretes no será el mencionado en la línea shebang, sino/bin/sh
que se utilizará. En el caso de Debian y Ubuntu por defecto esto serádash
.Entonces, para ejecutar su script correctamente con a
bash
, use cualquiera de los siguientes.o
Alternativamente, también puede establecer
bash
como/bin/sh
.fuente
Primero:
El error de sintaxis se debe a (). Eliminar () del archivo de esta manera:
o simplemente puede ejecutar el siguiente comando para editar el archivo por usted:
Ahora debería poder ejecutar el archivo con el resultado deseado.
Alternativamente :
Puede agregar las líneas 2, 3 y 4 a su
~/.bashrc
archivo.Recuerde, ¡no lo use
sudo
para editar su~/.bashrc
archivo!Después de agregar las líneas al archivo, ejecute el siguiente comando para reiniciar bash o "fuente" de su archivo .bashrc:
Ahora debería poder ejecutar el comando
hello
y "Hello world" debería imprimirse en el terminal.También:
En su lugar, puede editar el archivo para decir esto:
y nombra el archivo
hello
y guarda el archivo en/usr/local/bin
.Después de hacer todo eso, haga que el archivo sea ejecutable ejecutando el siguiente comando:
Ahora debería poder ejecutar el comando
hello
y "Hello world" debería imprimirse en el terminal.Finalmente:
Una tercera opción sería agregar la siguiente línea a su
~/.bashrc
archivo:Luego, obtenga su archivo .bashrc con el siguiente comando:
fuente
GNU Bash es el shell utilizado por defecto en terminales en Ubuntu. Sin embargo, cuando las secuencias de comandos se ejecutan en el arranque del sistema, se utiliza el guión, ya que es / bin / sh.
No funcionará ->
Trabajará ->
Problema resuelto
fuente
Según tu guión:
fuente