Entornos de programación Lenguajes de guiones (‘scripting languages’)
Grupos de leng. de programación Lenguajes para programación de sistemas System programming languages Rigurosos, seguros, eficientes Adecuados para programas complicados Lenguajes de guiones (scripts) Scripting languages Flexibles, menos seguros, menos eficientes Adecuados para programas sencillos
Ejemplos de leng. de programación Lenguajes para programación de sistemas COBOL, FORTRAN, C/C++ Pascal, Modula-2, Ada Java Lenguajes de guiones (scripts) Lenguajes de órdenes (command languages, shells) Rexx, Tcl, Perl, Pyton, Ruby VBScript, JavaScript
Leng. de órdenes: características Asociados a algún Sistema Operativo Modos interactivo y no interactivo Órdenes de usuario <-> automatización de operaciones Funciones Ejecutar programas Usar/configurar dispositivos y servicios del S.O. Manipular ficheros y grupos de ficheros Elementos básicos de programación Alternativas, bucles, variables, subprogramas, detección de errores, etc.
Lenguajes de órdenes: Ejemplos MS-DOS, Windows COMMAND.COM, CMD.EXE UNIX, Linux sh (Bourne, estándar) csh, tcsh (C, algo irregular) ksh (Korn, UNIX de ATT) bash (Bourne actualizado, Linux)
Lenguaje de órdenes de MS-DOS Sintaxis general orden argumentos... orden interna (DIR, COPY, ... - no devuelve error) orden externa (programa o script - devuelve error) Comentarios REM texto del comentario Etiquetas :nombre
Lenguaje de órdenes de MS-DOS Escribir resultados ECHO resultado ECHO. (línea en blanco) ECHO ON/OFF (control de traza) @orden (suprime traza) ECHO (consulta estado de traza) Terminar la ejecución EXIT
Lenguaje de órdenes de MS-DOS Ejecutar un programa o un fichero de texto con órdenes (script) nombre argumentos... ejecuta nombre.bat / nombre.exe / nombre.com lo busca en el directorio actual y en el PATH si es un script (.bat), no retorna CALL nombre argumentos... si es un script, sí retorna COMMAND /C orden... Ejecuta un shell secundario y retorna
Lenguaje de órdenes de MS-DOS Argumentos o parámetros nombre arg1 arg2 ... (max. 120 caracteres) %1, %2, ... %9 SHIFT (%1%2 %3 %4...) %0 (nombre) ERRORLEVEL (nivel de retorno) Redirección de la E/S estándar nombre < entrada | otro-nombre > salida ... >> salida (añade nuevo texto)
Lenguaje de órdenes de MS-DOS Entorno o contexto de ejecución SET variable=valor (¡ojo!, sin dejar espacio) SET variable= (suprime la variable) %variable% (recupera el valor) SET (presenta todas las variables) PATH lista-de-directorios (SET PATH=...) PATH (ECHO %PATH%) CD directorio (cambia directorio actual) x: (cambia unidad actual) CD (consulta directorio actual)
Lenguaje de órdenes de MS-DOS Estructuras de control: IF-THEN IF condición acción NOT, ==, EXIST, ERRORLEVEL Estructuras de control: IF-THEN-ELSE IF condición GOTO si-condición ... acción de no-condición (else) GOTO fin-condición :si-condición ... acción de sí-condición (then) :fin-condición
Lenguaje de órdenes de MS-DOS Estructuras de control: bucle WHILE :inicio-bucle IF NOT condición GOTO fin-bucle ... acción del bucle GOTO inicio-bucle :fin-bucle Estructuras de control: bucle FOR FOR %%x IN (lista) DO acción-con-%%x FOR %%x IN (lista) DO CALL acción...
Lenguaje de órdenes de MS-DOS Designar ficheros y grupos de ficheros unidad:\directorio\...\nombre.ext por omisión, unidad o directorio actual . (directorio actual) .. (directorio padre) ?* (comodines) Consultar ficheros o directorios DIR patrón DIR (equivale a DIR *) DIR /opciones... (/S /P /W /B /O ... etc.)
Lenguaje de órdenes de MS-DOS Condición de existencia IF EXIST fichero ... (existe fichero) IF EXIST directorio\nul (existe directorio) Consultar el contenido de un fichero (texto) TYPE fichero (no admite patrones) Cambiar el nombre/extensión REN fichero nuevo-nombre (admite patrones) nuevo patrón: nombre.*, *.ext Eliminar ficheros DEL patrón (¡ojo!: * elimina todo)
Lenguaje de órdenes de MS-DOS Copiar o mover ficheros COPY origen destino (destino fich. o dir.) COPY origen (destino = .) MOVE origen destino (destino dir.) MOVE origen (destino = .) Crear y eliminar directorios MKDIR directorio RMDIR directorio (debe estar vacío) se pueden abreviar: MD, RD
Lenguaje de órdenes de MS-DOS Tratar grupos de ficheros FOR %%x IN (patrón) DO acción-%%x Sólo patrón de ficheros, no directorios Ejemplo: FOR %%f IN (*.txt) DO type %%f Obtener ayuda sobre una orden orden /? Consultar la ayuda de Windows (comandos)