2017-12-10 2 views
0

Ich versuche Bash-Datei zu berechnen Wartezeit und durchschnittliche Wartezeit für Prozess mit Priorität Algorithmus. Ich weiß nicht, was falsch ist, ich halten, sagt unerwartetes Ende in der Nähe von ‚}‘ Linie 39Priority Scheduling OS Bash-Datei

echo "Enter Number Of process" 
read num 
let id[$i]=$i+1 
for((i=0;i<num;i++)) 
{ 
echo "Enter Burst Time For Process P$id[$i]" 
read burst[$i] 
} 

for((i=0;i<num;i++)) 
{ 
echo "Enter Priority Time For Process P$id[$i]" 
read priority[$i] 
} 

waiting[0]=0 

for((i=0;i<num;i++)) 
{ 
for((j=0;j<num;j++)) 
{ 
if [ ${priority[$i]} > ${priority[$j]} ] 
then 
temp2=${priority[$i]} 
priority[$i]=${priority[$j]} 
priority[$j]=$temp2 
temp=${arrival[$j]} 
arrival[$i]=${arrival[$j]} 
arrival[$j]=$temp 
temp1=${burst[$i]} 
burst[$i]=${burst[$j]} 
burst[$j]=$temp1 

} 
let tot={burst[$i]}+$tot 
echo "arrival[$i] priority[$i] burst[$i] $tot" 
+0

Werfen Sie einen Blick auf: http://www.shellcheck.net/ – Cyrus

+0

Wenn Sie Ihren Code richtig einrücken, können Sie Syntax- und Logikfehler finden. – tripleee

Antwort

0

Die letzten for und if fehlen ihr Ende Aussagen. Fügen Sie am Ende Ihres Skripts fi und } ein. Dann versuchen Sie shellcheck für die restlichen Fehler.