Hi i made this code myself but there are some errors coming in this code i have attached screenshot of error. this code is the Producer Consumer using semaphore in Bash shell Script  can you me it workable #!/bin/sh mutex=1 full=0 empty=3 x=0 echo "A. Producer B. Consumer C. Exit" while(1) do echo "Enter your choice" read n if [ $n -eq 1 ] then if [ {$mutex -eq 1} -a {$empty -ne 0} ] then producer() else echo "Buffer is full!!" fi break; if [ $n -eq 2 ] then if [ {$mutex -eq 1} -a {$full -ne 0} ] then consumer() else echo "Buffer is empty!!" fi break; fi fi done wa() { s=$1 return $((--s)) } signal() { s=$1 return $((++s)) } producer() { mutex=$((wait())) full=$((signal())) empty=$((wat())) x++; echo "Producer produces the item $x" mutex=$((signal())) } consumer() { mutex=$((wat())) full=$((wat())) empty=$((signal())) echo "Producer produces the item $x" x--; mutex=$((signal())) }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Hi i made this code myself but there are some errors coming in this code i have attached screenshot of error.

this code is the Producer Consumer using semaphore in Bash shell Script 

can you me it workable

#!/bin/sh

mutex=1
full=0
empty=3
x=0

echo "A. Producer
B. Consumer
C. Exit"
while(1)
do
echo "Enter your choice"
read n

if [ $n -eq 1 ]
then
if [ {$mutex -eq 1} -a {$empty -ne 0} ]
then
producer()
else
echo "Buffer is full!!"
fi
break;

if [ $n -eq 2 ]
then

if [ {$mutex -eq 1} -a {$full -ne 0} ]
then
consumer()
else
echo "Buffer is empty!!"
fi
break;
fi
fi

done

wa()
{
s=$1
return $((--s))

}
signal()
{
s=$1
return $((++s))
}

producer()
{
mutex=$((wait()))
full=$((signal()))
empty=$((wat()))
x++;
echo "Producer produces the item $x"
mutex=$((signal()))
}

consumer()
{
mutex=$((wat()))
full=$((wat()))
empty=$((signal()))
echo "Producer produces the item $x"
x--;
mutex=$((signal()))
}

Q ×
> bash main.sh
A. Producer
B. Consumer
C. Exit
48 -
{
s=$1
return $((++s))
}
49
50
51
52
main.sh: line 21: syntax error near unexpected token `else'
main.sh: line 21:
else'
producer()
{
mutex=$((wait()))
full=$((signal()))
empty=$ ( (wat()))
53
exit status 2
54 -
55
56
57
58
X++;
59
echo "Producer produces the item $x"
mutex=$ ((signal()))
60
61
62
63
consumer()
64 -
mutex=$( (wat()))
full=$ ((wat()))
empty=$((signal()))
65
66
67
Transcribed Image Text:Q × > bash main.sh A. Producer B. Consumer C. Exit 48 - { s=$1 return $((++s)) } 49 50 51 52 main.sh: line 21: syntax error near unexpected token `else' main.sh: line 21: else' producer() { mutex=$((wait())) full=$((signal())) empty=$ ( (wat())) 53 exit status 2 54 - 55 56 57 58 X++; 59 echo "Producer produces the item $x" mutex=$ ((signal())) 60 61 62 63 consumer() 64 - mutex=$( (wat())) full=$ ((wat())) empty=$((signal())) 65 66 67
Expert Solution
steps

Step by step

Solved in 2 steps with 4 images

Blurred answer
Knowledge Booster
Linux
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education