Minishell
Publicado por Marcelo R. Castelo Branco 17/04/2005
[ Hits: 12.643 ]
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; }
Emulador de Chip8 (com gráficos)
Algoritmo método da Posição Falsa ou Falsa Posição, Newton Raphson e Bisseção em Calculo Númerico
Ordenar um lista estática sequencial básica (bubblesort)
Método de Newton Modificado p/ Raízes Multiplas
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Instalar o Microsoft Edge no Slackware 15
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Primeira vez utilizando Linux Ubuntu 22.04 e já tenho problemas… (6)
Problema com nome composto e organização na tela do yad (1)
Formatando cartão de memoria que nao formata[AJUDA] (18)
warsaw parou de funcionar após atualização do sistema (solução) (1)