Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
diferencias_entre_tcsh_y_bash [2023/02/26 03:42] – creado peron | diferencias_entre_tcsh_y_bash [2023/03/26 04:15] (actual) – [Comandos de Shell] peron | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
+ | ======Diferencias entre Tcsh y Bash====== | ||
+ | [[Tcsh]] es mayormente compatible con [[Bash]] y otros [[intérpretes de comandos]], pero cuenta con algunas diferencias notables, que lo hacen idiosincrático. Esto implica diferencias con la [[tutorial_de_programacion_en_bash|sintaxis de Bash]] | ||
- | =====Diferencias entre Tcsh y Bash===== | + | ==== Hola Mundo ==== |
+ | Para iniciar guiones con él, solo debes modificar la primera línea de llamada (el " | ||
- | === Hola Mundo === | + | <code bash> |
- | Sólo la primer línea es diferente a Bash. | + | #!/bin/tcsh -f |
- | + | echo "Hello World" | |
- | | + | </ |
- | echo "Hello World" | + | |
===Variables=== | ===Variables=== | ||
Línea 26: | Línea 28: | ||
Las variables de Ambiente pueden accederse directamente (e.g., '' | Las variables de Ambiente pueden accederse directamente (e.g., '' | ||
- | ===Comentarios=== | + | ====Comentarios==== |
Los comentarios de una línea son similares a Bash. Tcsh __no soporta__ comentarios multilínea. | Los comentarios de una línea son similares a Bash. Tcsh __no soporta__ comentarios multilínea. | ||
- | ===Citas=== | ||
- | Su sintaxis es similar a la de bash. | ||
- | ===Depurado=== | + | |
+ | ====Depurado==== | ||
A diferencia de Bash, no se puede activar o desactivar el depurado dentro de un guión tcsh. En su lugar, podremos ejecutar un guión de tcsh en modo de trazado línea a línea, de la siguiente manera: | A diferencia de Bash, no se puede activar o desactivar el depurado dentro de un guión tcsh. En su lugar, podremos ejecutar un guión de tcsh en modo de trazado línea a línea, de la siguiente manera: | ||
Línea 39: | Línea 40: | ||
</ | </ | ||
- | ===Códigos de salida=== | + | ====Códigos de salida==== |
A diferencia de Bash, en tcsh al ejecutar guiones con trozos de código erróneo, el mismo detendrá su ejecución. Podrá observarse tal comportamiento coN: | A diferencia de Bash, en tcsh al ejecutar guiones con trozos de código erróneo, el mismo detendrá su ejecución. Podrá observarse tal comportamiento coN: | ||
Línea 54: | Línea 55: | ||
</ | </ | ||
- | ===Argumentos de línea de comando=== | + | ====Argumentos de línea de comando==== |
- | La sintaxis es diferente a bash. TCsh no tiene indicadores de arcumentos | + | La sintaxis es diferente a bash. TCsh carece de indicadores de argumentos |
+ | |||
+ | He aquí un programa que almacena los argumentos de línea de comandos en una lista y luego los presenta: | ||
<code bash> | <code bash> | ||
- | | + | #!/bin/tcsh -f |
- | | + | set num_args = $# |
- | set i = 1 | + | set i = 1 |
- | set list = ( ) | + | set list = ( ) |
- | echo "Build the list from commandline arguments..." | + | echo "Arma la lista de los argumentos de línea de comandos..." |
- | while ($i <= $num_args) | + | while ($i <= $num_args) |
- | @ i_minus_1 = $i - 1 | + | @ i_minus_1 = $i - 1 |
- | set arg = $argv[$i] | + | set arg = $argv[$i] |
- | echo " | + | echo " |
- | set list = ( $list $arg ) | + | set list = ( $list $arg ) |
- | @ i = $i + 1 | + | @ i = $i + 1 |
- | end | + | end |
- | echo "Now print the list..." | + | echo "Ahora imprimo la lista..." |
- | foreach f ($list) | + | foreach f ($list) |
- | echo " | + | echo " |
- | end | + | end |
</ | </ | ||
- | ===Ficheros include=== | ||
- | La sintaxis es la misma que en bash. | ||
- | ===Comandos de ShellShell=== | ||
- | Tcsh también utiliza diéresis para correr comandos de shell, de la misma forma que lo hace Bash. | ||
- | ===Entradas del usuario=== | + | ====Comandos de Shell==== |
+ | Tcsh también utiliza acentos graves '' | ||
+ | |||
+ | ====Entradas del usuario==== | ||
La sintaxis de TCSh es muy diferente a la de Bash. El siguiente código demuestra cómo leer una cadena del usuario empleando '' | La sintaxis de TCSh es muy diferente a la de Bash. El siguiente código demuestra cómo leer una cadena del usuario empleando '' | ||
Línea 98: | Línea 100: | ||
</ | </ | ||
- | ===Operaciones aritméticas=== | + | ====Operaciones aritméticas==== |
- | La sintaxis de TCSh es muy diferente a la de Bash. Para realizar | + | La sintaxis de tcsh es muy diferente a la de Bash. Realiza |
+ | |||
+ | Por ejemplo: | ||
+ | |||
+ | <code csh> | ||
+ | @ x = (354 - 128 + 52 * 5 / 3) | ||
+ | </ | ||
- | ===Comparación Numérica=== | + | ====Comparación Numérica==== |
Su sintaxis es similar a la de Bash, con la excepción de que no necesitamos dos pares de paréntesis '' | Su sintaxis es similar a la de Bash, con la excepción de que no necesitamos dos pares de paréntesis '' | ||
- | ===Comparación de Cadenas=== | + | ====Comparación de Cadenas==== |
La sintaxis de Tcsh es similar a la de Bash. El código siguiente lee una cadena del usuario, revisa para var que no sea una cadena vacía. Si no lo es, realiza una comparación de patrón para observar si la cadena finaliza con '' | La sintaxis de Tcsh es similar a la de Bash. El código siguiente lee una cadena del usuario, revisa para var que no sea una cadena vacía. Si no lo es, realiza una comparación de patrón para observar si la cadena finaliza con '' | ||
Línea 123: | Línea 131: | ||
</ | </ | ||
- | ===If-else=== | + | ====If-else==== |
La sintaxis de Tcsh es diferente a la de Bash. Observe el ejemplo anterior para considerar la declaración anidada if-then-else. | La sintaxis de Tcsh es diferente a la de Bash. Observe el ejemplo anterior para considerar la declaración anidada if-then-else. | ||
- | ===bucle For=== | + | ====bucle For==== |
La sintaxis de Tcsh es diferente de la de Bash. En lugar de emplear '' | La sintaxis de Tcsh es diferente de la de Bash. En lugar de emplear '' | ||
- | ===Bucle While=== | + | ====Bucle While==== |
La sintaxis de Tcsh es ligeramente diferente a la de Bash. Por favor consulta el ejemplo anteior en búsqueda de un bucle '' | La sintaxis de Tcsh es ligeramente diferente a la de Bash. Por favor consulta el ejemplo anteior en búsqueda de un bucle '' | ||
- | ===Case=== | + | ====Case==== |
La sintaxis de Tcsh es diferente a la de Bash. El código a continuación leerá una cadena del usuario, revisará si iguala a uno de los casos provistos. | La sintaxis de Tcsh es diferente a la de Bash. El código a continuación leerá una cadena del usuario, revisará si iguala a uno de los casos provistos. | ||
Línea 152: | Línea 160: | ||
</ | </ | ||
- | ===Funciones=== | + | ====Funciones==== |
A diferencia de Bash, __Tcsh no soporta función alguna__. | A diferencia de Bash, __Tcsh no soporta función alguna__. | ||
> En este aspecto, ¡Bash es claramente superior a Tcsh! | > En este aspecto, ¡Bash es claramente superior a Tcsh! |