Minishell
Publicado por Marcelo R. Castelo Branco 17/04/2005
[ Hits: 12.674 ]
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; }
Google Code Jam 2010 - Africa Classification Round
Arquivos utilizados no artigo: "Desenvolvendo um plugin para o XMMS"
Jogo da Velha com IA invencivel
3 EP - Poli USP - Angry Birds (angry bixos)
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Meu Kubuntu não inicia, além do modo de recuperação (no meu dualboot (1)
Site da gontijo simplesmente não abre, ERR_HTTP2_PRO... (3)
Linux Mint não conecta Wi-Fi sem fio (19)