La única razón por la que puedo pensar por qué esto no funcionaría es si realmente estaba usando algún otro shell, como /bin/sh
.
¿Tiene #!/bin/bash
en la parte superior de su archivo? En caso afirmativo, cámbielo a #!/bin/bash -x
(para activar el rastreo, o xtrace como se llama en la página del manual) y pegue el resultado relevante en su pregunta, junto con el error de sintaxis exacto que está ocurriendo. Si no, ese podría ser su problema. ;-)
La otra posibilidad que se me ocurre es si tiene ^M
caracteres (terminaciones de línea de DOS) en su archivo, lo que puede generar errores como los siguientes (dependiendo de la línea en la que se encuentren, si son esparcidos alrededor, o dependiendo de si el guión comienza con una línea #!
):
-bash: ./myscript.sh: /bin/bash^M: bad interpreter: No such file or directory
'/myscript.sh: line 2: syntax error near unexpected token `do
This page tiene un buen fragmento de perl que puede eliminarlos, de la siguiente manera (que he modificado ligeramente para que funcione en el caso poco probable que tiene un ^M
extraviado en el medio de una línea):
perl -pi -e 's/\r//g' myscript.sh
Esto no debe ser la causa de un error de sintaxis. ¿Quizás pueda pegar todo el script y my_script.py y podamos ver si podría ser algo más? –
Eso me parece bien ... –
¿Qué error? Funciona para mí. ¿Qué versión de bash ?. – Zimbabao