Minishell
Publicado por Marcelo R. Castelo Branco 17/04/2005
[ Hits: 12.702 ]
Um minishell desenvolvido em C.
As bibliotecas abaixo devem estar instaladas:
types.h
stat.h
fcntl.h
unistd.h
stdio.h
string.h
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <stdio.h> #include <string.h> char cmd[512]; char dir[4096]; char *argv[3]; int pid; int main(void) { while (1) { printf("[Crasher]$ "); //escreve o prompt na tela. fgets(cmd, 511, stdin); cmd[strlen(cmd) - 1] = 0; // troca o enter = \n por um novo {FONTE} = 0 if (strcmp(cmd, "exit") == 0) // se o resultado da comparação for 0 = V finaliza o shell exit (0); else { argv[0] = strtok(cmd, " "); argv[1] = strtok(NULL, " "); argv[2] = NULL; if (strcmp(argv[0], "pwd") == 0) { getcwd(dir, 4096); printf("%s\n", dir); } else if (strcmp(argv[0], "cd") == 0) { if (chdir(argv[1]) != 0) printf("Caminho inválido!\n"); } else { pid = fork(); if (pid == 0) { if (execvp(argv[0], argv) == -1) { printf("Comando inválido\n"); exit (0); } } else { wait(); } } } } return 0; }
Converter arquivos Bitmap para ASCII-art
Árvore de busca binária com frequência de consultas
Google Code Jam 2010 - Africa Classification Round
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Os empreguim de meu Deus estão cada vez mais tecnológicos (8)
Dock do debian está muito pequena (2)