/ / (ORA) Errore Omake: Token inaspettato: Stringa: {- c, shell, ubuntu

(Osh) Errore Omake: Token inaspettato: Stringa: {- c, shell, ubuntu

Sto lavorando a un incarico per la classe, in cuidobbiamo costruire una semplice interfaccia shell per un sistema Unix in C. Sto usando Ubuntu e quando eseguo il codice sorgente che è stato fornito usando questo comando:

osh> cat shell.c

Ottengo un errore:

*** omake error: File /home/cameron/cs426/Project1/shell.c: line 11, characters 20-24
unexpected token: string: {

Questa è la mia prima volta che utilizzo osh, quindi qualcuno ha qualche idea su quale potrebbe essere il problema?

Inoltre, ecco il codice, per ogni evenienza.

#include<stdio.h>
#include<unistd.h>

#define MAX_LINE 80 /* 80 chars per line, per command */

int main(void)
{
char *args[MAX_LINE/2 + 1];     /* command line (of 80) has max of 40 arguments */
int should_run = 1;

while(should_run){
printf("osh>");
fflush(stdout);

/**
* After reading user input, the steps are:
* (1) fork a child process
* (2) the child process will invoke execvp()
* (3) if command included &, parent will invoke wait()
*/
}

return 0;
}

risposte:

2 per risposta № 1

Sembra che questo codice fosse destinato a essere una shell. Quello che devi fare è:

  1. Apri un terminale che esegue una shell reale. osh è il omake shell, e probabilmente non è rilevante per questo compito. Il codice che hai dato stampe "osh", ma non lo è il osh.
  2. Compilare con gcc -o shell-that-calls-itself-osh shell.c Il -o la bandiera dice gcc dove mettere il file binario compilato.
  3. Corri con ./shell-that-calls-itself-osh Il ./ è quello di eseguire il codice nella directory corrente.