diferencias_entre_tcsh_y_bash

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
diferencias_entre_tcsh_y_bash [2023/02/26 03:42] – creado perondiferencias_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 "bang").
  
-=== Hola Mundo === +<code bash> 
-Sólo la primer línea es diferente a Bash. +#!/bin/tcsh -f 
- +echo "Hello World" 
-    #!/bin/tcsh -f +</code>
-    echo "Hello World"+
  
 ===Variables=== ===Variables===
Línea 26: Línea 28:
 Las variables de Ambiente pueden accederse directamente (e.g., ''$PATH'', ''$SHELL'', ''$HOME'', ''$LANG'', ''$PWD'', etcétera). Las variables de Ambiente pueden accederse directamente (e.g., ''$PATH'', ''$SHELL'', ''$HOME'', ''$LANG'', ''$PWD'', etcétera).
  
-===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:
 </code> </code>
  
-===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:
 </code> </code>
  
-===Argumentos de línea de comando=== +====Argumentos de línea de comando==== 
-La sintaxis es diferente a bash. TCsh no tiene indicadores de arcumentos como los ''$@'' y ''$?'' de Bash. Los Argumentos de línea de comando pueden accederse con ''$argv[$i]''donde ''$i'' es el rango entre el número de argumento de línea de comandos (denotado por ''$n''''$n'' devuelve el número de argumentos de línea de comandos. He aquí un programa que almacena los argumentos de línea de comandos en una lista y luego los presenta:+La sintaxis es diferente a bash. TCsh carece de indicadores de argumentos como los ''$@'' y ''$?'' de Bash. Los Argumentos de línea de comando se acceden con ''$argv[$i]'' (donde ''$i'' representa un argumento de rango numérico (denotado por ''$n''), mientras que ''$n'' devuelve el valor de argumentos de línea de comandos.  
 + 
 +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+#!/bin/tcsh -f
  
-    set num_args = $# +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 "\targ[$i_minus_1] = $arg" +    echo "\targ[$i_minus_1] = $arg" 
-        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 "\t$f" +    echo "\t$f" 
-    end+end
 </code> </code>
  
-===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 ''`...`'' para correr comandos de shell, de la misma forma que lo hace Bash. 
 + 
 +====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:
 </code> </code>
  
-===Operaciones aritméticas=== +====Operaciones aritméticas==== 
-La sintaxis de TCSh es muy diferente a la de Bash. Para realizar operaciones ariméteicas comienza la línea con ''@''Refiere al siguiente código para comprender cómo sumar y restar una cifra en una variable.+La sintaxis de tcsh es muy diferente a la de Bash. Realiza operaciones aritméticas comienza la línea con ''@''. 
 + 
 +Por ejemplo: 
 + 
 +<code csh> 
 +@ x = (354 - 128 + 52 * 5 / 3) 
 +</code>
  
-===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 ''(())''. Por favor refiera al ejemplo anterior para comparar ''$i'' y ''num_args''. Su sintaxis es similar a la de Bash, con la excepción de que no necesitamos dos pares de paréntesis ''(())''. Por favor refiera al ejemplo anterior para comparar ''$i'' y ''num_args''.
  
-===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 ''.txt''. 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 ''.txt''.
  
Línea 123: Línea 131:
 </code> </code>
  
-===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 ''for'', tcsh utiliza ''foreach''. Observe el ejemplo anterior para consultar el uso de ''foreach'' en una lista lista iterativa. La sintaxis de Tcsh es diferente de la de Bash. En lugar de emplear ''for'', tcsh utiliza ''foreach''. Observe el ejemplo anterior para consultar el uso de ''foreach'' en una lista lista iterativa.
  
-===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 ''while'' en tanto la condición sea verdadera. La sintaxis de Tcsh es ligeramente diferente a la de Bash. Por favor consulta el ejemplo anteior en búsqueda de un bucle ''while'' en tanto la condición sea verdadera.
  
-===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:
 </code> </code>
  
-===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!
  • diferencias_entre_tcsh_y_bash.1677382934.txt.gz
  • Última modificación: 2023/02/26 03:42
  • por peron