Resolver el problema Bash Mala sustitución

Resolver el problema Bash Mala sustitución
Es posible que haya recibido el problema de la sintaxis de sustitución mala al desarrollar scripts bash. Después de navegar a través de foros, puede descubrir que no está solo; Otros individuos se encuentran con el mismo error. Es una falla tipográfica que ocurre cuando ejecuta su script de shell, y puede suceder por una variedad de razones. El uso incorrecto de la sustitución de instrucciones y los caracteres erróneos adjuntos al programa son dos razones principales para esto.

Veamos cómo podemos hacer que nuestro script de shell cause este error y cómo resolverlo. Comience con el nuevo archivo bash creado con la consulta "Touch" de Ubuntu y ábralo dentro del editor "GNU Nano".

$ touch sub.mierda
$ nano sub.mierda

Ejemplo 01

La primera razón del error de sustitución incorrecta es el uso de la sintaxis del código incorrecto. Echemos un vistazo a esto. A partir del primer código de bash, hemos agregado soporte bash en la primera línea del script bash, yo.mi., "#!/bin/bash ". Después de esto, hemos inicializado una variable simple "V" con el comando de lista de Ubuntu como su valor. Este valor se ha insertado dentro de los soportes rizados y con el signo "$" para considerarlo como un comando shell. Después de esto, la instrucción ECHO está aquí para mostrar simplemente el valor de la variable "V" en el shell. Nuestro código está completo y listo para usar.

Guardamos el código BASH y volvimos al terminal después de usar Ctrl+S y Ctrl+X, respectivamente. Hemos ejecutado este archivo de script bash recién creado con la instrucción "bash" y obtuvimos la "mala sustitución" aquí en nuestra pantalla. Este error ha ocurrido debido al uso de corchetes rizados "" alrededor de la instrucción de la lista en el código.

$ Bash Sub.mierda

Intentemos actualizar nuestro código para resolver este error ahora. Por lo tanto, hemos eliminado los soportes rizados de la segunda línea de código y lo reemplazamos con los soportes simples "()" como se presenta a continuación. En general, el código seguirá siendo el mismo que no hay problema con el código. Guarde este código ahora.

Después de salir del editor de GNU Nano, ejecutaremos el archivo bash "Sub.SH "Código actualizado con el uso de la instrucción" bash "como se presenta a continuación. Resulta que el error de sustitución malo se ha eliminado después de la actualización del código, y la instrucción de la lista insertada dentro de la variable "V" se ha ejecutado correctamente. El comando de lista mostró todos los contenidos del directorio de inicio actual, yo.mi., archivos y carpetas, en nuestra pantalla de shell.

$ Bash Sub.mierda

Ejemplo 02

Otra razón para la aparición de errores de sustitución malos en Bash es el uso de espacios innecesarios mientras se ejecuta algunas variables. Por lo tanto, hemos agregado soporte bash e inicializado una variable "v" con la instrucción de la lista como un valor mantenido por los soportes simples y un signo de dólar "$."Después de esto, hemos estado utilizando la instrucción" Echo "para mostrar el valor de la variable" V ". Pero hemos agregado la variable "V" en la declaración "Echo" junto con el "espacio" en los soportes.

Después de guardar este código, hemos ejecutado este archivo bash con la consulta "bash" en nuestro terminal, como se presenta a continuación. Devuelve la sustitución de bash a los 3rd línea del guión.

$ Bash Sub.mierda

Para eliminar el error de nuestro código, tenemos que actualizar nuestro código. Entonces, hemos abierto el archivo nuevamente y eliminamos el espacio adicional dentro de los soportes rizados de la declaración "Echo" como se muestra a continuación.

Ahora que el código se ha actualizado y se elimina el espacio en blanco, tenemos que ejecutar este archivo con las instrucciones bash presentadas a continuación. Después de ejecutar el archivo, se ha eliminado el error de sustitución incorrecta, y la instrucción de la lista especificada en la variable "V" se ha ejecutado con éxito en el terminal después de que la declaración "echo" se ejecutara en el script bash. La lista de archivos y carpetas de directorio de inicio actuales se muestra en nuestra pantalla de shell a continuación.

$ Bash Sub.mierda

Ejemplo 03

Este error también puede ocurrir debido al uso de caracteres no deseados repetidos en el código. Entonces, hemos probado un código actualizado para obtener este error en el shell. Para esto, tenemos que usar el carácter "$" dos veces en la instrucción "Echo" para especificar la variable "V" para la ejecución, que es la sintaxis incorrecta para hacerlo. Esta variable "V" contiene la instrucción de lista simple como su valor. Como hemos usado el doble "$" en los corchetes de rizado en la declaración "Echo", nos llevará a un error de sustitución malo en la ejecución.

Después de ejecutar el código con instrucción BASH, encontramos un error de sustitución malo en la línea 3 de la script bash en nuestra pantalla de shell.

$ Bash Sub.mierda

Eliminemos el error de sustitución incorrecta de la ejecución actualizando la línea 3 de un código. Hemos eliminado el letrero interno "$" dentro de los soportes rizados de la declaración "Echo".

Después de eliminar el signo "$", hemos ejecutado el código nuevamente en el shell con el comando "bash". El error se ha eliminado y se ha mostrado la lista de archivos y carpetas.

$ Bash Sub.mierda

Ejemplo 04

Tengamos nuestro último pero no el menos ejemplo de este artículo. Hemos estado usando dos variables, x e y, que contienen la ubicación del directorio como su valor. En la declaración "Echo" de este código, hemos estado utilizando ambas variables que se imprimirán y separarán mediante el signo "/". Cada variable contiene un signo de dólar con él, mientras que un solo signo de dólar también se usa fuera de los soportes rizados.

El uso de soportes rizados y signos en dólares causó un error de sustitución malo.

$ Bash Sub.mierda

Entonces, hemos eliminado los soportes rizados y el signo del dólar exterior, como se muestra a continuación.

Este valor de tiempo de ambas variables se ha mostrado.

$ Bash Sub.mierda

Conclusión

Esto se trata de la ilustración de crear un código de bash a los errores que causan que ocurra el error de sustitución malo durante la ejecución. Hemos discutido los DO y no evitar el error mediante la realización de diferentes ejemplos de bash.