MiniShell en C

Hola, este es un programa que me dejaron en una clase que estoy tomando que se llama Sistemas Operativos, se trata de crear procesos hijos (con fork) para emular una pequeña shell de sistema.

El programa recibe los comandos y parámetros como argumento, por ejemplo:

./shell cat /etc/passwd | grep home | cut -d: -f1,1,5

Para obtener los logins y nombres de todos los usuarios del sistema donde su directorio personal este en el home.
[code]]czoxMDg1OlwiDQo8cHJlIGNsYXNzPVwiYnJ1c2g6Y1wiPg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKntbJiomXX0qKioqKioqDQogKiBJbnRlcnByZXRlIGRlIGNvbWFuZG9zIGVuIEMgYnkgQWxldnNrCSAqDQogKioqKioqKioqKioqKioqKioqKioqe1smKiZdfSoqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCiNpbmNsdWRlPHN5cy90eXBlcy5oPiAgIC8vIGZvcmsNCiNpbmNsdWRlPHV7WyYqJl19bmlzdGQuaD4gICAgICAvLyBnZXRwaWQsIGdldHBwaWQNCiNpbmNsdWRlPHN0ZGlvLmg+ICAgICAgIC8vIHByaW50Zg0KI2luY2x1ZHtbJiomXX1lPHN5cy93YWl0Lmg+CS8vIHdhaXQNCiNpbmNsdWRlPHN0cmluZy5oPgkvLyBzdHJjYXQNCg0KaW50IG1haW4oaW50IGFyZ2MsIGNoe1smKiZdfWFyICphcmd2W10pDQp7DQogICAgCWludCBuLG0sIGkgPSAxOw0KCWNoYXIgY29tYW5kb1syNTZdOw0KCWNoYXIgKnB1bnRlcm87DQp7WyYqJl19DQogICAgCWlmKGFyZ2MgPCAyKQ0KICAgIAl7DQogICAgICAgIAlwcmludGYoXCJEZWJlcyB0ZWNsZWFyIGFsbWVub3MgMSBjb21hbmR7WyYqJl19bywgZWouIGxzXFxuXCIpOw0KICAgICAgICAJZXhpdCgxKTsNCiAgICAJfQ0KDQogICAJc3RyY3B5KGNvbWFuZG8sYXJndltpXSk7DQoge1smKiZdfSAgDQogICAJZG8NCiAgIAl7DQoJCWlmKGFyZ3ZbaV0gJiYgYXJndltpKzFdKQ0KCQl7DQoJCQkvL3N0cmNhdChhcmd2WzFdLFwiIFwiKXtbJiomXX07DQoJCQkvL3N0cmNhdChhcmd2WzFdLGFyZ3ZbaSsxXSk7DQoJCQlzdHJjYXQoY29tYW5kbyxcIiBcIik7DQoJCQlwdW50ZXJvID0gc3R7WyYqJl19cmNhdChjb21hbmRvLGFyZ3ZbaSsxXSk7CQkNCgkJCWkrKzsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCXB1bnRlcm8gPSBjb21hbmRvO3tbJiomXX0NCgkJCWJyZWFrOw0KCQl9CQ0KICAgCX13aGlsZSgxKTsNCg0KDQoJaWYobiA9ICFmb3JrKCkpDQoJew0KCQ0KCQkvL2V4ZWNscChcIntbJiomXX1iYXNoXCIsXCJiYXNoXCIsXCItY1wiLGFyZ3ZbMV0sMCk7DQoJCWV4ZWNscChcImJhc2hcIixcImJhc2hcIixcIi1jXCIscHVudGVybywwKTsNCgkJcHJ7WyYqJl19aW50ZihcIlxcblwiKTsNCgkJZXhpdCgxKTsNCgl9DQoJd2FpdCgmbik7IC8vRXNwZXJhciBhIHF1ZSBlbCBwcm9jZXNvIGhpam8gdGVybXtbJiomXX1pbmUNCglyZXR1cm4gLTE7DQp9DQo8L3ByZT4NClwiO3tbJiomXX0=[[/code]

Descargar SHell

http://www.alevsk.com/proyectos/programacion/shell.c

salu2

Si te gusto comparte ...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *