/ / (ओश) ओमेक त्रुटि: अनपेक्षित टोकन: स्ट्रिंग: {- सी, खोल, उबंटू

(ओएसएच) ओमेक त्रुटि: अप्रत्याशित टोकन: स्ट्रिंग: {- सी, खोल, उबंटू

मैं कक्षा के लिए एक नियत कार्य पर कार्य कर रहा हूँ, जिसमेंहमें सी में यूनिक्स सिस्टम के लिए एक सरल शेल इंटरफ़ेस बनाना है। मैं उबंटू का उपयोग कर रहा हूं और जब मैं उस में स्रोत कोड चलाता हूं तो इस कमांड का उपयोग करके प्रदान किया गया था:

osh> cat shell.c

मुझे एक त्रुटि मिलती है:

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

मैं पहली बार ओश का उपयोग कर रहा हूं, तो क्या किसी के पास कोई विचार है कि समस्या क्या हो सकती है?

इसके अलावा, यहाँ "कोड है, बस के मामले में।

#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;
}

उत्तर:

जवाब के लिए 2 № 1

ऐसा लगता है कि इस कोड को एक खोल बनाने का इरादा था। आपको क्या करने की आवश्यकता है:

  1. एक टर्मिनल खोलें जो एक वास्तविक शेल चलाता है। osh है ओमेक खोल, और शायद यह असाइनमेंट प्रासंगिक नहीं है। आपके द्वारा दिया गया कोड प्रिंट "ओश", लेकिन "टी" है the ओश।
  2. संकलन gcc -o shell-that-calls-itself-osh shell.c The -o ध्वज बताता है gcc जहां संकलित बाइनरी रखना है।
  3. साथ दौड़ो ./shell-that-calls-itself-osh The ./ वर्तमान निर्देशिका में कोड चलाना है।