PDF de programación - Lenguajes de guiones (Scripting languages)

Imágen de pdf Lenguajes de guiones (Scripting languages)

Lenguajes de guiones (Scripting languages)gráfica de visualizaciones

Publicado el 12 de Mayo del 2019
245 visualizaciones desde el 12 de Mayo del 2019
42,5 KB
13 paginas
Creado hace 10a (16/03/2010)
Lenguajes de guiones (Scripting languages)

Asignatura: Entornos de programación

Lenguajes de guiones (Scripting languages)
Lenguaje de órdenes de Windows NT/2000/XP

En este tema se introducen los lenguajes de "guiones" en el contexto de los lenguajes de
programación en general. Como caso concreto se introduce el lenguaje de órdenes de MS-
DOS/Windows.

Los lenguajes de guiones no son un elemento propio de los entornos de programación.
La razón de dedicarles un tema en esta asignatura es porque se necesita manejar algún
lenguaje de este tipo para realizar parte de los ejercicios prácticos, y que los alumnos pueden
no conocerlo suficientemente al matricularse de esta asignatura.

La descripción del lenguaje de órdenes de MS-DOS/Windows sólo muestra una parte de sus
posibilidades. Los elementos que se mencionan son suficientes para realizar las prácticas
de la asignatura.

1. Grupos de lenguajes de programación
Desde cierto punto de vista se pueden clasificar los lenguajes de programación en:

1. Lenguajes para programación de sistemas (en inglés: System programming

languages)

• En general son rigurosos, seguros y eficientes
• Facilitan y/o exigen cierta disciplina de programación
• Son adecuados para desarrollar programas complicados
• Suelen tener buenos mecanismos para definir tipos de datos
• Suelen procesarse mediante compiladores

2. Lenguajes de guiones o scripts (en inglés: Scripting languages)

• En general son permisivos, menos seguros y menos eficientes que los anteriores
• No exigen mucha disciplina para usarlos
• Son adecuados para desarrollar programas sencillos
• Suelen permitir el uso de variables no tipadas
• Suelen procesarse mediante intérpretes

A veces es difícil determinar a qué categoría corresponde un lenguaje de programación en
particular, ya que las características indicadas pueden darse en mayor o menor grado. A
continuación se indican ejemplos de cada una de estas clases de lenguajes.

• Lenguajes para programación de sistemas

o COBOL, FORTRAN, C/C++/C#
o Pascal, Modula-2, Oberon, Ada
o Java
o Lisp, Haskell, Smalltalk, Eiffel

• Lenguajes de guiones (scripts)

Lenguajes de guiones (Scripting languages) -

Lenguaje de órdenes de Windows NT/2000/XP - 1

Lenguajes de guiones (Scripting languages)

o Lenguajes de órdenes (command languages, shell languages)
o Rexx, Tcl, Perl, Pyton, Ruby
o VBScript, JavaScript

Dentro de los lenguajes de guiones, los lenguajes de órdenes constituyen un grupo
particular. Podría decirse que los lenguajes de órdenes tienen como objetivo principal
gobernar la ejecución de otros programas y automatizar así operaciones complejas
combinando programas ya existentes. El resto de los lenguajes de guiones vienen a ser
lenguajes de programación de uso general o especializado y que no requieren la existencia
de otros programas para construir aplicaciones con ellos.

Lenguajes de guiones (Scripting languages) -

Lenguaje de órdenes de Windows NT/2000/XP - 2

Lenguajes de guiones (Scripting languages)

2. Lenguajes de órdenes
Se denominan también lenguajes de "shell". Poseen las siguientes características:

• Suelen estar asociados a algún Sistema Operativo
• Pueden usarse de modo interactivo y no interactivo

o En el modo interactivo el usuario introduce las órdenes una a una, y se ejecutan

inmediatamente

o En el modo no interactivo se dispone de un guión de órdenes preparadas de

antemano y permite la automatización de operaciones

• Ofrecen las siguientes funciones

o Ejecutar programas
o Usar/configurar dispositivos y servicios del S.O.
o Manipular ficheros y grupos de ficheros
o Elementos básicos de programación

- Secuencias, alternativas y bucles
- Variables
- Subprogramas
- Detección de errores, etc.

El nombre de "lenguajes de órdenes" se debe a que el guión (script) se plantea básicamente
como una secuencia de órdenes que se van ejecutando sucesivamente. Históricamente
surgieron como un mecanismo para gobernar el funcionamiento en "batch" (sin interacción
con el usuario) de los primeros computadores y sistemas operativos. Con la aparición de
UNIX se popularizó el uso interactivo de los computadores y el empleo de estructuras
generales de programación en los lenguajes de órdenes. En UNIX se introdujo también
el término "shell" para designar el intérprete de órdenes que permitía gobernar el
funcionamiento del computador invocando los servicios del sistema operaivo.

Los lenguajes de órdenes no suelen tener un nombre propio. El nombre del lenguaje se
corresponde con el nombre del intérprete o "shell" que lo procesa. Como ejemplos de
intérpretes de lenguajes de órdenes se pueden citar los siguientes:

• Para los sistemas operativos MS-DOS o Windows:

o COMMAND.COM (en MS-DOS y Win9x - 16 bits)
o CMD.EXE (en WinNT/2000/XP - 32 bits)

• Para los sistemas operativos UNIX y Linux

o sh (shell de Bourne, estándar)
o csh, tcsh (C-shell, algo irregular)
o ksh (shell de Korn para el UNIX de ATT)
o bash (shell de Bourne actualizado, introducido en Linux)

Lenguajes de guiones (Scripting languages) -

Lenguaje de órdenes de Windows NT/2000/XP - 3

Lenguajes de guiones (Scripting languages)

3. El lenguaje de órdenes de WinNT
Está disponible en la familia de sistemas Windows NT/2000/XP. Es una extensión del
lenguaje de órdenes de MS-DOS. Un guión de órdenes es un fichero de texto con la
extensión .BAT o .CMD. El intérprete (shell) de este lenguaje es un programa llamado
cmd.exe.

3.1 Sintaxis general

• Por defecto, una orden por línea

o orden argumentos...
o en el nombre de la orden no se distingue entre mayúsculas y minúsculas

(ORDEN = Orden = orden)

• El intérprete distingue dos clases de órdenes

o órdenes internas (DIR, COPY, ...) - las ejecuta el propio intérprete, en general no

devuelven indicación de error

o órdenes externas (programas ejecutables u otros guiones) - se ejecutan por

separado, devuelven indicación de error

• Líneas de comentarios

o REM texto del comentario
o :: texto del comentario

• Etiquetas - pemiten programar saltos mediante la orden GOTO

o :nombre
o GOTO nombre

• Los argumentos actuales con los que se invoca una orden son cadenas de texto, con

los siguientes formatos:

o valor - sin espacios en blanco
o /xxx - por convenio, se interpreta como una opción y no como un dato
o "valor ...\" ..." - permite incluir espacios en blancos y comillas (")

literales

• Órdenes compuestas - permiten escribir varias órdenes como una sola o una orden

en varias líneas

o orden ... & orden ... (secuencia de órdenes, se ejecutan todas)
o orden ... && orden ... (secuencia condicional, sólo continúa mientras

haya éxito)

o orden ... || orden ... (secuencia condicional, sólo continúa mientras

haya fallo)

o ( órdenes ... ) (orden compuesta, puede ocupar varias líneas)
o ^& ^| ( se usa ^ como escape para introducir un & o | literal )

Lenguajes de guiones (Scripting languages) -

Lenguaje de órdenes de Windows NT/2000/XP - 4

Lenguajes de guiones (Scripting languages)

3.2 Ejemplo: imprimir serie de Fibonacci
Aunque los lenguajes de órdenes no se usan habitalmente para realizar tareas de cálculo,
el caso es que tienen posibilidad de hacerlo. Para tener una idea de cómo es un guión
de órdenes aquí se presenta un ejemplo que permite imprimir los términos de la serie de
Fibonacci hasta un límite dado como argumento. El significado de las órdenes utilizadas se
irá viendo en los siguientes apartados. El guión estará almacenado en un fichero de texto
llamado fibonacci.bat:

@echo off
rem Imprimir la serie de Fibonacci hasta un límite dado como argumento

:: comprobar si hay argumento
if not .%1.==.. goto iniciar
echo -- Faltan argumentos
echo -- Uso: %0 limite
exit /B

:iniciar
echo Serie de Fibonacci
set x1=0
echo %x1%
set x2=1
echo %x2%

:repetir
set x0=%x1%
set x1=%x2%
set /A x2=x0+x1
if %x2% GTR %1 exit /B
echo %x2%
goto repetir

Para ejecutar el guión de ejemplo hay que abrir una ventana de órdenes (Microsoft la llama
"Simbolo del sistema"), escribir en ella el nombre del fichero y pulsar la tecla Intro (Enter).
Ejemplo:

Lenguajes de guiones (Scripting languages) -

Lenguaje de órdenes de Windows NT/2000/XP - 5

Lenguajes de guiones (Scripting languages)

3.3 Ayuda en línea
Se puede obtener información de ayuda acerca de las órdenes de CMD mediante:

• HELP (presenta la lista de las órdenes disponibles - órdenes internas y librería de

órdenes externas de CMD)

• HELP orden (presenta una descripción de la orden indicada)
• orden /? (equivale a HELP orden)

3.4 Orden ECHO
En realidad son dos órdenes distintas con el mismo nombre:

• Escribir resultados

o ECHO resultado (escribe el texto indicado)
o ECHO. (escribe una línea en blanco - no hay espacio entre ECHO y el punto)

• Control de la traza de ejecución (escribir cada orden antes de ejecutarla)

o ECHO ON/OFF (habilita o suprime la traza)
o ECHO (sin argumentos, informa del estado de traza)
o @orden (la @ al comienzo de la línea suprime la traza de la orden, aunque esté

activo ECHO ON)

3.5 Orden EXIT

• Termina la ejecución del guión de órdenes

o EXIT (termina la ejecución del intérprete de órdenes cmd.exe)

Lenguajes de guiones (Scripting languages) -

Lenguaje de órdenes de Windows NT/2000/XP - 6

Lenguajes de guiones (Scripting languages)

o EXIT /B (termina la ejecución del guión en curso)
o EXIT /B nivelerror (termina el guión en curso y devuelve el código de

error indicado)

3.6 Ejecución de programas u otros guiones

• Orden de ejecución, implícita

o nombre argumentos...

- ejecuta el fichero nombre, o bien nombre.bat/cmd/exe/com
- busca el fichero en el directorio actual y en el PATH
- la ejecución termina con una indicación o nivel de error
- si el fichero es un script (.bat, .cmd), no retorna

• Orden de ejecución, explícita

o CALL nombre argumentos...

- como la anterior,
  • Links de descarga
http://lwp-l.com/pdf15909

Comentarios de: Lenguajes de guiones (Scripting languages) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad