示例#1
0
int main (int argc, char *argv[])
{

   char buf[BUFSIZ];
   char *cadena; /*string para almacenar las ordenes introducidas*/

   while (1)
   {
   	imprimir_prompt(); /*Imprime el prompt*/
	leer_linea_ordenes(buf); /*lee la linea de ordena untroducida*/
	cadena = strtok(buf, ";"); /*almacena las ordenes separadas en tokens*/
	//printf("%s\n", cadena); /*para probar que se ha almacenado de forma adecuada "cadena"*/

	while (cadena != NULL){ //cuando se acaban las ordenes termina
		if ((strcmp(cadena,"exit"))!=0){ //compara la primera orden con "exit"
			if ((ord_interna(cadena))==0){
				/*si la orden es interna da 1 y la ejecuta, si es externa entra al if*/
				//printf("es externa\n"); /*para comprobar que la orden es externa*/
				ejecutar_linea_ordenes(cadena);
			}
		}
		else {
			return 0;
		}
		cadena = strtok(NULL, ";"); //pasamos al siguiente tokens y portanto la siguiente orden
	}
	fflush(stdin);//limpio el buffer
	cadena = NULL;//limpio cadena para volver a usarlo
   }

   return 0;
}
示例#2
0
void varias_ordenes(char *orden){

char *token = strtok(orden , ";"); /*Separamos por espacios*/ 

        while(token !=NULL){
                ejecutar_linea_ordenes(token); //aca obtenemos la orden sin el punto y coma y ejecutamos 
                token = strtok(NULL,";");
        }
         
        }